hdu 1250 大树

来源:互联网 发布:开关贴淘宝 编辑:程序博客网 时间:2024/05/01 15:31

 

#include <stdio.h>#include <string.h>#define  MAX 2010char c [MAX];void add (char a[],char b[],char back[]){    int x,z,i,j,k;    z=0;    k=0;    i=strlen(a)-1;    j=strlen(b)-1;    while (i>=0||j>=0)    {        if(i>=0)            z+=a[i]-'0';        if(j>=0)            z+=b[j]-'0';        c[k++]=z%10+'0';        z/=10;        i--; j--;    }    if(z)        c[k++]='1';    c[k]='\0';    i=0;    for(k-=1; k>=0; k--)        back[i++]=c[k];    back[i]='\0';}int main (){    int n,i;    while (~scanf("%d",&n))    {        char str1 [MAX]="1",str2[MAX]="1",str3[MAX]="1",str4[MAX]="1",f[MAX],f1[MAX],sum[MAX];        if(n==0)       {           printf("0\n");           continue;       }        for(i=5; i<=n; i++)        {            add(str1,str2,f);            add(str3,str4,f1);            add(f,f1,sum);            strcpy(str1,str2);            strcpy(str2,str3);            strcpy(str3,str4);            strcpy(str4,sum);        }        printf("%s\n",str4);    }    return 0;}

原创粉丝点击