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;
    }

  • 相关阅读:
    jQuery火箭图标返回顶部代码
    jQuery火箭图标返回顶部代码
    jQuery火箭图标返回顶部代码
    jQuery火箭图标返回顶部代码
    jQuery火箭图标返回顶部代码
    jQuery火箭图标返回顶部代码
    仿京东左侧菜单
    京东首页右侧固定层
    jQuery中的事件与动画
    javaScript(四)
  • 原文地址:https://www.cnblogs.com/ACWQYYY/p/4322210.html
Copyright © 2011-2022 走看看