NYOJ 114 某种序列

来源:互联网 发布:淘宝天猫流量互刷软件 编辑:程序博客网 时间:2024/05/21 17:28

题目链接
看懂了代码,自己背着打了一遍,算法不是很难,但是我觉得很难想到并且写的这么工整,很赞。。至少身为菜鸟的我还差得很远。。
参考代码链接
补充一个知识点:
在printf中%08d表示输出宽度为8,不足8位的补0,%8d表示输出 宽度为8,不足8位的补空格
printf(“%08d\n%8d”,1234,1234);
输出
00001234
<空格><空格><空格><空格>1234
附加理解后自己打的代码

#include<stdio.h>#include<string.h>#define base 100000000int ma[100][100];int main(){    int a,b,c,jw,len,temp;    while(~scanf("%d %d %d",&a,&b,&c))    {        memset(ma,0,sizeof(ma));        if(a==0&&b==0&&c==0)            printf("0");        else        {            ma[0][1]=a;            ma[1][1]=b;            ma[2][1]=c;            len=1;            for(int i=3;i<=99;i++)            {                jw=0;                for(int j=1;j<=len;j++)                {                    temp=ma[i-3][j]+ma[i-2][j]+ma[i-1][j]+jw;                    ma[i][j]=temp%base;                    jw=temp/base;                    if(j==len&&jw!=0)                        len++;                }            }            int i=len;            printf("%d",ma[99][i]);            i--;            for(;i>=1;i--)                printf("%08d",ma[99][i]);        }         printf("\n");    }    return 0;}
0 0
原创粉丝点击