0
点赞
收藏
分享

微信扫一扫

计算机精英协会考核题 —— 第三题:斐波那契数


题目

3.某人说他记住了 1-100000 的所有斐波那契数。

为了考验他,我们随便出一个数 n,让他说出第 n 个斐波那契数。

当然,斐波那契数会很大。

因此, 如果第 n 个斐波那契数不到 6 位,则说出该数;否则只说出最后 6 位。

程序框架如下:

int main(int argc, char const *argv[])

{

int x;

while (scanf(“%d”,&x))

{

if(不到六位)

输出 x;

else

输出最后六位;

}

return 0;

}

代码

#include <stdio.h>
#define NUM 100000
int main (void)
{
long a,b;
long sum[NUM]={1,1};

for(a=2;a<NUM;a++)
{
if(sum[a-1]+sum[a-2]<1000000)
{
sum[a]=sum[a-1]+sum[a-2];
}
else
{
sum[a]=(sum[a-1]+sum[a-2])%1000000;
}
}
while(scanf("%d",&a))
{
printf("%d\n",sum[a-1]);
}

getchar();
return 0;
}



举报

相关推荐

0 条评论