Как точно вычислять факториал чисел больше 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;
            
        }
 
    }
}

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


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

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

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