题目描述
求第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>
#include<math.h>int prime(int n)
{
int i;
for(i=2;i<=sqrt(n);i++)
if(n%i==0) return 0;
return 1;
}
int main()
{
int n,a[40];
a[1]=3;a[2]=7;
for(int i=3;i<30;i++)
{
a[i]=a[i-1]+a[i-2];
}
while(~scanf("%d",&n)&&n!=-1)
{
if(prime(a[n]))
printf("Yes\n");
else
printf("No\n");
}
return 0;
}