zoukankan      html  css  js  c++  java
  • EOJ 3506. 斐波那契数列

    题意:给一个斐波那契数,问是斐波那契数列中的第几个,范围比较大是1到第1e5个斐波那契数

    题解:选几个大质数MOD一下,预处理出范围内的所有膜后的值,如果输入的数在取模后能够和某一项斐波那契数的膜一一对应,那么他很大概率的就是它

    #include <iostream>

    #include <cstring>

    #define ll long long

    #define fio ios::sync_with_stdio(false);cin.tie(0)

    const int N=2e5+5;

    using namespace std;

    int mod[]={10000019,99999721,10006333,1006277,10005559,99999787};

    int a[N][6];

    int main(){

        fio;

        for(int i=0;i<6;i++){

            a[1][i]=1,a[2][i]=2;

            for(int j=3;j<=100000;j++){

                a[j][i]=(a[j-1][i]+a[j-2][i])%mod[i];

            }

        }

        string str;

        ll cm[6];

        while(cin>>str){

            memset(cm,0,sizeof(cm));

            int len=str.length();

            for(int i=0;i<len;i++){

                for(int j=0;j<6;j++){

                    cm[j]=(cm[j]*10+str[i]-'0')%mod[j];

                }

            }

            for(int i=1;i<=100000;i++){

                int flag=0;

                for(int j=0;j<6;j++){

                    if(cm[j]!=a[i][j]){

                        flag=1;

                        break;

                    }

                }

                if(flag==0){

                    cout<<i<<endl;

                    break;

                }

            }

        }

        return 0;

    }

      

  • 相关阅读:
    (转)AJAX开发中常用的Firefox Plugins
    几种流行的AJAX框架jQuery,Mootools,Dojo,Ext JS的对比
    Excel Oledb设置
    统计数据库中所有表的基本信息
    sql 分页加排序等写法
    sql 创建索引
    SQL Server复制需要有实际的服务器名称才能连接到服务器 错误解决方案
    转转:解决Error"基础连接已经关闭: 未能为SSL/TLS 安全通道建立信任关系。"
    Reflector7.5.2.1的Bug
    查询数据库所有依赖
  • 原文地址:https://www.cnblogs.com/Mrleon/p/8683983.html
Copyright © 2011-2022 走看看