Найдите сумму всех цифр в 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;
}
}