求第n个斐波纳契数是否是素数
这道题主要分为两步,首先设计一个判断素数的函数,然后用for循环,求出第N个斐波纳契数的大小,并进行判断。
Fibonacci Again! 时间限制:
1000 ms|内存限制:
65535 KB 难度:
2
- 描述
- 求第n个斐波那契数是否是一个素数,n为整数 f[n]=f[n-1]+f[n-2] (2
- 输入
- 输入整数m,0
- 输出
- 如果f[m]是素数 则输出Yes,否则输出No,
每行输出占一行。- 样例输入
2 3
- 样例输出
Yes No
#include
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");
}
}
【求第n个斐波纳契数是否是素数】