• hdu 1715 大菲波数


    #include<stdio.h>
    #include<vector>
    using namespace std;
    #define N 1010
    vector<int>a[N];
    int fb()
    {
        int i,j,k;
        int jw;
        a[1].push_back(1);
        a[2].push_back(1);
        for(i=3;i<N;i++)
        {
            jw=0;
            for(j=0,k=0;k<a[i-2].size();j++,k++)
            {
                //a[i][j]+=jw;
                int t=a[i-1][j]+a[i-2][k]+jw;
                jw=t/10;
                if(jw)
                a[i].push_back(t%10);
                else
                a[i].push_back(t);
            }
            for(;j<a[i-1].size();j++)
            {
                int t=a[i-1][j]+jw;
                jw=t/10;
                if(jw)
                a[i].push_back(t%10);
                else
                a[i].push_back(t);
            }
            if(jw)
            {
                a[i].push_back(jw);
            }
        }
        return 0;
    }
    int main()
    {
        int _case,n;
        fb();
        scanf("%d",&_case);
        while(_case--)
        {
            scanf("%d",&n);
            for(int i=a[n].size()-1;i>=0;i--)
            printf("%d",a[n][i]);
            printf("\n");
        }
        return 0;
    }

    学习:

          STL中vector使用下标访问数组元素是,只能访问到vector动态申请过的空间:

          使用char型数组时,注意‘\0’的ASCⅡ码为0,即数组的读入结束符;

    错误代码:

    #include<stdio.h>
    #include<string.h>
    #define N 50
    char a[N][1000];
    int fb()
    {
        int i,j,k;
        int jw;
        a[1][0]=1;
        a[2][0]=1;
        for(i=3;i<N;i++)
        {
            jw=0;
            for(j=0,k=0;k<strlen(a[i-2]);j++,k++)
            {
                //a[i][j]+=jw;
                a[i][j]=a[i-1][j]+a[i-2][k]+jw;
                jw=a[i][j]/10;
                if(jw)
                {
                    a[i][j]%=10;
                }
                printf("%d ",a[i][j]);
            }
            for(;j<strlen(a[i-1]);j++)
            {
                a[i][j]=a[i-1][j]+jw;
                jw=a[i][j]/10;
                if(jw)
                {
                    a[i][j]%=10;
                }
            }
            if(jw)
            {
                a[i][j++]=jw;
            }
            for(int k=strlen(a[i])-1;k>=0;k--)
            printf("#%d",a[i][k]);
            printf("\n");
        }
        return 0;
    }
    int main()
    {
        int _case,n;
        fb();
        scanf("%d",&_case);
        while(_case--)
        {
            scanf("%d",&n);
            for(int i=strlen(a[n])-1;i>=0;i--)
            printf("%d",a[n][i]);
            printf("\n");
        }
        return 0;
    }
    View Code
  • 相关阅读:
    CA 证书和数字证书
    PHP获取不了内网IP?
    站点速度检测工具
    Mac地址
    交互机和路由器区别
    关于实体店收银系统和cookie实现登录状态
    Python3 的序列
    Python3 字符串格式化
    Python3 的元组
    Python3 的列表
  • 原文地址:https://www.cnblogs.com/XDJjy/p/3107459.html
Copyright © 2020-2023  润新知