zoukankan      html  css  js  c++  java
  • 一道我觉得比较叼的斐波那契数了

    思路:

    //hdu1316

    由于a,b的范围(0,10的100次方)先用数组对大数进行储存一下,求在a,b的范围内有多少项斐波那契数,先用二维数组进行存储

    然后求出a,b这两个数的长度,然后遍历二维数组中存储的斐波那契的长度直到找到大于a的长度的那一项跳出来,然后判断前一项如果

    长度等于a且等于a,则count++,,,,然后同理,,直到遍历到大于b的长度

    代码:

    #include<stdio.h>
    #include<string.h>
    long s[10000][200]={0};
    char t[10000][200];
    int main()
    {
        char a[200],b[200];
        long i,j,n,m,count,k;
        s[1][0]=1;
        s[2][0]=2;
        k=0;
        for(i=3;i<10000;i++)
            for(j=0;j<200;j++)
            {
                k+=s[i-1][j]+s[i-2][j];
                s[i][j]=k%10;
                k/=10;
            }
        while(k&&j<200)
            {
                s[i][j++]=k%10;
                k/=10;
            }
        for(i=10000-1;i>=1;i--)
        {
            k=0;
            for(j=200-1;j>=0;j--)
                if(s[i][j]!=0)
                    break;
            for(;j>=0;j--)
                    t[i][k++]=s[i][j]+48;
            t[i][k]='';
        }
        while(scanf("%s%s",a,b)>0)
        {
            count=0;
            n=strlen(a);
            m=strlen(b);
            if(a[0]=='0'&&b[0]=='0')
                break;
            for(i=1;strlen(t[i])<n;i++);
            while(1)
            {
            if(strlen(t[i])==n)
                {
                    if(strcmp(t[i],a)<0)
                        i++;
                    else
                        break;
                }
                else
                    break;
            }
            for(;i<10000;i++)
            {
            if(strlen(t[i])<m)
                    count++;
                else
                    if(strlen(t[i])==m)
                    {
                        if(strcmp(t[i],b)<=0)
                            count++;
                        else
                            break;
                    }
                    else
                    break;
            }
            printf("%ld ",count);
        }
        return 0;
    }

  • 相关阅读:
    近期文章与教程和其他情况说明
    Python从入门到精通--课程目录
    第四天:创建型模式--原型模式
    python api链接数据库
    Delphi 实现简易语音发音(基于TTS方式)
    delphi下运行vbscript脚本
    使用PaxScript为Delphi应用增加对脚本的支持
    delphi与javascript互通
    奇技淫巧之Delphi和JavaScript互通
    在delphi中执行javascript代码
  • 原文地址:https://www.cnblogs.com/ACWQYYY/p/4322210.html
Copyright © 2011-2022 走看看