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

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

Fibonacci Again!

时间限制: 1000 ms  |  内存限制: 65535 KB
难度: 2
描述
求第n个斐波那契数是否是一个素数,n为整数
f[n]=f[n-1]+f[n-2] (2
f[1]=3,f[2]=7
输入
输入整数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");
    }
}


你可能感兴趣的:(素数系列)