作业帮 > 综合 > 作业

1,5,11,27,65,157,.,N.求第N项是多少?用C#斐波那契数列

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/10 10:20:34
1,5,11,27,65,157,.,N.求第N项是多少?用C#斐波那契数列
An= 2*An-1 + An-2
A0=0
A1=1
using System;
class Program
{
public static int Slove(int n)
{
int[] a=new int[]{0,1,5};
if(n0)
{
a[0]=a[1];
a[1]=a[2];
a[2]=2*a[1]+a[0];
n--;
}
return a[2];
}
}
public static void Main()
{
int a=int.Parse(Console.ReadLine());
Console.WriteLine(Slove(a));
}
}
//但是要小心溢出.如果数据大,要用大数.
//而且可以考虑使用矩阵加速.
//[| [| 2 ; 1 |] ; [|1 ; 0 |] |] ^(n-2)*[| [| 5 ; 1 |] ; [| 1 ; 0 |] |] 求第n项
再问: 真是太感谢了!能不能麻烦您帮我解释一下这段代码!
再答: a是大小为3的数组,用a[0]表示An-2 a[1]表示 An-1 a[2]表示 An int[] a=new int[]{0,1,5}; //初始化为A0,A1,A2 if(n0) //执行n次 { a[0]=a[1]; //使上一次的an-1成为这一次的an-2 a[1]=a[2]; //使上一次的an成为这一次的an-1 a[2]=2*a[1]+a[0]; //计算这一次的an n--; } return a[2]; }