帮我看一下我这代码运行结果对不对,我不知道答案,所以不知道对不对, 这个是在 飞燕之家论坛 里的一个练习题, 帮看一下,
/*1+1+2+3+5+8+13+21+34+55+...的前30和*/
#include <stdio.h>
int main (void)
{
int n;
long a,a1,a2,sum;
a=1; a1=1; sum=0;
for(n=1; n<30; n++)
{
sum+=a+a1;/*让和自增*/
a2=a+a1;/*让和等于第三项*/
a=a1;/*交换位置*/
a1=a2;
}
printf("%lu\n",sum);/*输出无符号长整形*/
getchar();
return 0;
}
结果是 3524575 如果我们以笔算,那么我们应该从哪个算N的第一项呢? 如1+1+2+3+5+8 中N 是算6项还是算5项呢,我感觉好像应该是N=5 有5项.不知道对不对,