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 a[33];
int b[2890000];
int main()
{
int i,j;
b[1]=b[0]=1;
for(i=2; i<2890000; i++)
{
if(!b[i])
{
for(j=2*i; j<2890000; j=j+i)
{
b[j]=1;
}
}
}
int n;
while(scanf("%d",&n)!=-1)
{
a[1]=3;
a[2]=7;
for(i=3; i<=n; i++)
{
a[i]=a[i-1]+a[i-2];
}
if(!b[a[n]])
{
printf("Yes\n");
}
else
{
printf("No\n");
}
}
}