计算Fibonacci数列前20个数值之和
发布时间:
>>>>
计算Fibonacci数列前20个数值之和
问题计算Fibonacci数列前20个数值之和,其中Fibonacci数列有如下的迭代规律:
第一个元素:F11第二个元素:F21第三个元素:F3F1F2……
第n个元素:FnFn1Fn2
分析根据Fibonacci数列的递推规律,必须已知第n-1项和第n-2项之后,才可以计算
出第n项。可以同时计算第n-1项和第n项序列的值。所需数据与算法如下。
数据要求
问题中的常量:无
问题的输入:intf1=1intf2=1问题的输出:unsignedlongsum
设计初始算法
1.f1和f2初始化为1,并初始化sum的值为sum=0。2.计算第n-1项并求和,再计算第n项并求和。3.循环执行步骤2至求出前20项之和,输出sum。算法细化1.初始化:
f1=1;
f2=1;
sum=f1+f2;
当n=1,n=2时f1=1,f2=1;因此前两项之和为sum=f1+f2。
2.循环体的语句如下:
f1=f1+f2;/*计算第n-1项*/sum+=f1;f2=f2+f1;/*计算第n项*/sum+=f2;
当n=3时f3=f1+f2。如果f3用f1表示,则f1=f1+f2;因此前三项之和为sum=sum+f1。
当n=4时f4=f3+f2。如果f3用f1表示,f4用f2表示,则f2=f2+f1。前四项之和为sum=sum+f2。
/*序列中第1项*//*序列中第2项*/
/*序列前20项之和*/