加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

寒假集训3 a 斐波拉契 大数相加

发布时间:2020-12-14 02:04:49 所属栏目:大数据 来源:网络整理
导读:题目链接 解析:主要还是简单大数相加 #includestdio.h#includestring.h#includeiostreamusing namespace std;#define ll long long#define MAX 205int f[MAX][MAX];//char f[MAX][MAX];char s[MAX];int main(){// freopen("E:input.txt","r",stdin); int i

题目链接


解析:主要还是简单大数相加


#include<stdio.h>
#include<string.h>
#include<iostream>
using namespace std;
#define ll long long
#define MAX 205
int f[MAX][MAX];
//char f[MAX][MAX];
char s[MAX];


int main()
{
//   freopen("E:input.txt","r",stdin);
    int i,n,j;
    memset(f,sizeof(f));
    f[1][0] = 1;
    f[2][0] = 2;

    for (i = 3; i < MAX; i++)
    {
       for (j = 0; j < MAX; j++)
       {
           /*if (f[i - 1][j] == 0 && f[i - 2][j] == 0)
           {
               break;
           }*/
           f[i][j] += f[i - 1][j] + f[i - 2][j];
           if (f[i][j] > 9)
           {
               f[i][j] -= 10;
               f[i][j + 1]++;
           }
       }
       //printf("%d: %I64dn",i,f[i]);
    }
    scanf("%d",&n);
    getchar();
    while (n--)
    {
        scanf("%s",s);
        int len = strlen(s);
        for (i = MAX - 1; i >= 0; i--)
        {
            if (f[len][i] != 0)
            {
                j = i;
                break;
            }
        }
        for (i = j; i >= 0; i--)
        {
            printf("%d",f[len][i]);
        }
        printf("n");
    }
    return 0;
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读