关于算法的数学题

来源:百度知道 编辑:UC知道 时间:2024/05/28 07:40:49
1,1,2,3,5,8,13,21,。。。观察这一列数的规律,写出计算这个数列前20个数的和的伪代码
2楼的我们貌似没学过,只用while,for,或if循环

不就是费波拉契数列吗?
int An(int n)
{
if(n==1)
return(1);
if(n==2)
return(1);

if(n>=3)
return(An(n-1)+An(n-2);
}

ok.

从第三项起 每项是它前面两项的和

你看,1+1=2,2+2=3,2+3=5,3+5=8......如此类推,说白了,就是前两个数的和等于下一个数,但是1前面没有东西,就当做0吧!不过这一步没什么用。既然是这样,那么,前20个数分别是:1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,1597,16957,18554,35511和54065。那么就是1+1+2+3+5+8+13+21+34......你可以用计算器算。不过老师说我们没学伪代码,不告诉我,所以不会算伪代码。