Как точно вычислять факториал чисел больше 20-и? - C#
Формулировка задачи:
Вот например мой код. Но это не конкретно вычисляет факториал начиная с 21:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
int a = int.Parse(Console.ReadLine());
ulong b = 1;
for (ulong i = 1; i <= Convert.ToUInt64(a); i++ )
{
b = b * Convert.ToUInt64(i);
Console.WriteLine(i+"="+b);
}
Console.ReadKey();
}
}
}Решение задачи: «Как точно вычислять факториал чисел больше 20-и?»
textual
Листинг программы
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Numerics;
namespace ConsoleApplication2
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine(FactNaive(20));
Console.ReadKey();
}
static BigInteger FactNaive(int n)
{
BigInteger r = 1;
for (int i = 2; i <= n; ++i)
r *= i;
return r;
}
}
}