永发信息网

杭电1021题,为么事我写的不能通过,求纠正

答案:2  悬赏:20  手机版
解决时间 2021-02-25 01:56
Problem Description
There are another kind of Fibonacci numbers: F(0) = 7, F(1) = 11, F(n) = F(n-1) + F(n-2) (n>=2).
#include "stdio.h"
#include"stdlib.h"
main()
{

long n,i,f1,f2,f3;
while((scanf("%d",&n)!=EOF)&&n<1000000)
{
f1=1;
f2=2;
if(n==0||n==1)
f3=1;
else
for(i=1;i {
f3=(f1+f2)%3;
f1=f2;
f2=f3;
}
if(f3==0)
printf("yes\n");
else
printf("no\n");
}
system("pause");
}

Input
Input consists of a sequence of lines, each containing an integer n. (n < 1,000,000).

Output
Print the word "yes" if 3 divide evenly into F(n).

Print the word "no" if not.

Sample Input
0
1
2
3
4
5

Sample Output
no
no
yes
no
no
no
最佳答案
找规律,不能硬算
F(0)= 1, F(1) = 2, F(n) = ( F(n-1) + F(n-2) )( mod 3) (n>=2).

index  0  1  2  3  4  5  6  7  8  9  10  11  12  13

value  1  2  0  2  2  1  0  1  1  2   0   2   2  1

print  no no yes no  no no yes  no  no  no  yes  no  no  no

这样我们就得到了如下规律:从第2个开始每隔4个循环一次。

#include
int main()
{
int n;
while(scanf("%d",&n)!=EOF)
{
if((n-2)%4!=0)
printf("no\n");
else
printf("yes\n");
}
return 0;
}
全部回答
根据题意:n=0时,f3=7,n=2时,f3=11,所以你写的不正确,还有f3在计算斐波那契数列是不能取除3的余数,不然算出的数列不是斐波那契数列,所以应该这么写: #include "stdio.h" #include"stdlib.h" main() { long n,i,f1,f2,f3; while((scanf("%d",&n)
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
corelDRAW 输出PDF 图片要转换颜色模式吗?
小汤渔具我想知道这个在什么地方
当固体悬浮在液体当中时,浮力等于重力 这时
半闲居柳沙半岛店在哪里啊,我有事要去这个地
郑州五洲警务室办暂住证电话
哪部小说里有叫承天的?
形容水果多的成语
和美春天原售楼部地址在什么地方,想过去办事
几个学习中的疑问,1、受到滑动摩擦力作用的物
包含“奈何桥上等三年”的一首歌曲
骨癌一般发展有多快
车胎流动加气车。你好,我车被别人放了气,放
使命召唤online怎么激活账号??上游戏时说账
康贝大药房(西阳街)在哪里啊,我有事要去这个
交通安全学习七天之后就马上考试吗?
推荐资讯
笔记本买回来系统是装在ssd上的请问该怎么分
鱼跃吸痰器吸力不足怎么办
我今天在外面买来了一公一母的仓鼠,会繁殖吗
求一部美国电影讲述狙击手的故事刚一个开始2
美之轩养生会所地址好找么,我有些事要过去,
根据《建筑结构荷载规范》GB50009-2012,下列
移动合约机百立丰能用联通4g吗?
这个分数可以调剂昆明理工大学吗?艺术设计 3
圣羿羽毛球俱乐部大场分部我想知道这个在什么
2点0t和2点5排量区别
【规格化】(110.1)2的规格化形式是()
至少通过坟墓,来到上帝面前,我们是平等的出
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?