您的位置:首页 > 其它

求第n个斐波纳契数是否是素数

2016-03-07 21:16 232 查看
                              这道题主要分为两步,首先设计一个判断素数的函数,然后用for循环,求出第N个斐波纳契数的大小,并进行判断。


Fibonacci Again!

时间限制:1000 ms  |  内存限制:65535 KB
难度:2

描述
求第n个斐波那契数是否是一个素数,n为整数
f
=f[n-1]+f[n-2] (2<n<30)
f[1]=3,f[2]=7

输入输入整数m,0<m<30,输入-1表示结束输入

输出如果f[m]是素数 则输出Yes,否则输出No,

每行输出占一行。
样例输入
2
3


样例输出
Yes
No

#include<stdio.h>
int a[3000000],s[50];
int main()
{        a[1]=a[0]=1;
for(int i=2;i<2900000;i++)
{
if(!a[i])
{for(int j=2*i;j<2900000;j+=i)
a[j]=1;
}
}
int m;
while(scanf("%d",&m)!=EOF)
{s[1]=3;
s[2]=7;
for(int i=3;i<30;i++)
s[i]=s[i-1]+s[i-2];
if(!a[s[m]])
printf("Yes\n");
else
printf("No\n");
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: