Найдите сумму всех цифр в 252! (факториал) - C#

Узнай цену своей работы

Формулировка задачи:

Запись n! обозначает число равное произведению n*(n-1)*(n-2)*...*1 и называется факториал. Например, 6! = 6*5*4*3*2*1 = 720. Сумма всех цифр в факториале 6 равна 7+2+0=9 Найдите сумму всех цифр в 252! в ответе почему-то 0.
/*Запись n! обозначает число равное произведению n*(n-1)*(n-2)*...*1 и называется факториал. 
 Например, 6! = 6*5*4*3*2*1 = 720. 
 Сумма всех цифр в факториале 6 равна 7+2+0=9 
 
 Найдите сумму всех цифр в 252!*/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace Задача4
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine(Factorial.Factor(252));
            Console.ReadLine();
        }
    }
}
 
class Factorial
{
    static public long Factor(int n)
    {
        //Если n меньше нуля вернуть 0
        if (n < 0)
            return 0;
        //Переменная как первый шаг цикла
        int fact = 1;
        //Цикл
        for (int i = 2; i <= n; i++)
        {
            //Краткая запись fact = fact * i;
            fact *= i;
        }
       //Вернуть fact
        return fact;
    }
}

Решение задачи: «Найдите сумму всех цифр в 252! (факториал)»

textual
Листинг программы
/*Запись n! обозначает число равное произведению n*(n-1)*(n-2)*...*1 и называется факториал. 
 Например, 6! = 6*5*4*3*2*1 = 720. 
 Сумма всех цифр в факториале 6 равна 7+2+0=9 
 
 Найдите сумму всех цифр в 252!*/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Numerics;
 
namespace SumOfFactorial
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine(Factorial.Factor(252).ToString());
            Console.ReadLine();
        }
    }
}
class Factorial
{
    //BigInteger Factor;
    static public BigInteger Factor (int n)
    {
        //Если n меньше нуля вернуть 0
        if (n < 0)
            return 0;
        //Переменная как первый шаг цикла
        BigInteger fact = 1;
        //Цикл
        for (int i = 2; i <= n; i++)
        {
            //Краткая запись fact = fact * i;
            fact *= i;
        }
       //Попробуем
       //Вернуть fact
        return fact;
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 4 из 5
Похожие ответы