麻烦高手帮写一个这么简单的算法

来源:百度知道 编辑:UC知道 时间:2024/06/20 07:45:03
1 1 2 3 5 8 11 19 这是数列

1+1=2 2+3=5 3+5=8 8+11=19 这是规律

求第300的数是多少???
就要一个算法就可以了。。。谢谢了

//计算数列的任意第n项的值(n > 0)
int GetNumber(int n)
{
if(n < 1)
return 0;

int nPreNum = 0; //前一项的值
int nCurNum = 1; //当前项的值

//不断循环:将当前项后移并计算前两项的和,前一项也相应后移为上一次的当前项
for(int i = 1; i < n; i++)
{
//计算当前项和前一项的和,作为新的当前项
nCurNum = nCurNum + nPreNum;
//计算新的当前项与前一项的差,作为新的前一项
nPreNum = nCurNum - nPreNum;

//完成当前项和前一项均后移一项
}

//返回当前项
return nCurNum;
}

要算第300项的值:
int nNumber = GetNumber(300);

int n =1;
int m =1;
for (i = 2; i<300; i++){
m = m+n;
n = m-n;
}
print(m);

a[1]=1
a[2]=1
for(i=3;i<301;i++)
{
a[i]=a[i-1]+a[i-2]
}

OK?

MynumP=0
mynumQ=1
for i = 1 to 300
mynumQ=mynumP+mynumQ

next i

print mynumQ

要算第300项的值:
int nNumber = GetNumber(300);