using System.Numerics;
计算 斐波那契数列(Fibonacci sequence),不受长整型位数限制。
编写 fibonacci.cs 如下
// C# program for Fibonacci Series
// using Dynamic Programming
using System;
using System.Numerics;
class fibonacci {
static BigInteger fib(int n)
{
BigInteger a = new BigInteger(0);
BigInteger b = new BigInteger(1);
BigInteger c = new BigInteger(0);
int i;
for (i = 2; i <= n; i++) {
c = a + b;
a = b;
b = c;
}
return b;
}
// Fibonacci Series test
public static void Main(string[] args)
{
if (args.Length <1){
Console.WriteLine(" usage: fib.exe n ");
return;
}
int n;
if (int.TryParse(args[0], out n)){
if (n >1) Console.WriteLine(fib(n));
} else {
Console.WriteLine(" input n must be +int ");
}
}
}
where csc
C:\Windows\Microsoft.NET\Framework\v4.0.30319\csc.exe
编译 csc fibonacci.cs
fibonacci.cs(8,9): error CS0246: 未能找到类型或命名空间名称“BigInteger”
编译 csc /r:System.Numerics.dll fibonacci.cs
运行 fibonacci.exe 1000
参阅:https://www.geeksforgeeks.org/program-for-nth-fibonacci-number/