Fibonacci Again!
时间限制:1000 ms | 内存限制:65535 KB
难度:2
描述
求第n个斐波那契数是否是一个素数,n为整数
f[n]=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 f[35]={0,3,7};
int prime(int x)
{
int k;
for(k=2;k<x;k++)
if(x%k==0) return 0;
return 1;
}
int main()
{
int i,j;
int m;
for(i=3;i<35;i++)
f[i]=f[i-1]+f[i-2];
while(scanf("%d",&m)&&m!=-1)//&&m!=-1和!=EOF不一样吗?
{
if(prime(f[m])) printf("Yes\n");
else printf("No\n");
}
return 0;
}