标题:uva 10236 斐波拉契素数问题
取消只看楼主
brian1994
Rank: 2
来 自:广东省中山市一中
等 级:论坛游民
帖 子:63
专家分:47
注 册:2011-5-15
得分:0 
好惨啊!弄了我这么久...
还好最后AC了
#include<cstdio>
int n;
int tot=0;
int ans[25000];

int main()
{
    long long t0,t1=1,t2=1;
    for (int i=3;tot<22000;i++)
    {
        t0=t1+t2;
        t2=t1;
        t1=t0;
        if (t0>=1e18)
        {
           t0/=10;
           t1/=10;
           t2/=10;
        }
        bool p=true;
        for (int j=2;j*j<=i;j++)
            if (i%j==0)
            {
               p=false;
               break;
            }
        if (p || i==4)
        {
           long long p=t0;
           while (p>=1e9) p/=10;
           ans[++tot]=p;
        }
    }
    while (scanf("%d",&n)==1) printf("%d\n",ans[n]);
    return 0;
}
2011-05-20 16:51



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-340043-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.548677 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved