111,126
社区成员
发帖
与我相关
我的任务
分享
int f(int n)
{
if(n==0||n==1)
{
return 1;
}else
{
return f(n-1)+f(n-2);
}
}
public int getFibonacci(int n) //n为指定你求的是第几个数
{
if(n<0) throw new Exception("没有小于零的斐波那契数列");
if(n==1||n==2) return 1;
return getFibonacci(n-1)+getFibonacci(n-2);
}
public static int Fibonacci(int n,int ac1,int ac2)
{
if (n == 0) return ac1;
return Fibonacci(n - 1, ac2 , ac1+ac2);
}
public static ulong Fibonacci(int n)
{
if (n <= 2)
return 1;
ulong a = 1;
ulong b = 1;
for (int i = 2; i < n; i++)
{
if (a + b <= ulong.MaxValue)
{
b = a + b;
a = b - a;
}
else
{
Console.WriteLine("OverFlow");
}
}
return a + b;
}