計算第一個 1000 位斐波納契數

包括 using System.Numerics 並將 System.Numerics 的引用新增到專案中。

using System;
using System.Numerics;

namespace Euler_25
{
    class Program
    {
        static void Main(string[] args)
        {
            BigInteger l1 = 1;
            BigInteger l2 = 1;
            BigInteger current = l1 + l2;
            while (current.ToString().Length < 1000)
            {
                l2 = l1;
                l1 = current;
                current = l1 + l2;
            }
            Console.WriteLine(current);
        }
    }
}

這個簡單的演算法迭代 Fibonacci 數,直到它達到一個至少 1000 個十進位制數字的長度,然後列印出來。這個值遠遠大於 ulong 可以容納的值。

從理論上講,BigInteger 類的唯一限制是應用程式可以使用的 RAM 量。

注意:BigInteger 僅適用於 .NET 4.0 及更高版本。