斐波那契数列的素数个数

来源:互联网 发布:80端口不通怎么办 编辑:程序博客网 时间:2024/05/22 03:22

求斐波那契数列的素数个数,f(0)=1,,f(1)=1,f(2)=2,……,f(n)=f(n-1)+f(n-2),然后求f(a)与f(b)包括两端之间的素数个数

#include<cstdio>#include<iostream>using namespace std;int f[40];void fb(){    f[0]=f[1]=1;    int i;    for(i=2;i<35;i++)        f[i]=f[i-1]+f[i-2];}int plist[10000000];void primeList(){    int i,j;    plist[0]=plist[1]=0;    for(i=2;i<10000000;i++)        plist[i]=1;    for(i=2;i*i<10000000;i++)        if(plist[i]==1)            for(j=i+i;j<10000000;j=j+i)                plist[j]=0;}int main(){    fb();    primeList();    int count,a,b,i;    while(scanf("%d%d",&a,&b)!=EOF)    {        count=0;        for(i=a;i<=b;i++)            if(plist[f[i]]==1)                count++;        printf("count=%d\n",count);    }    return 0;}
0 0
原创粉丝点击