📄 2240486_ac_0ms_144k.c
字号:
# include <stdio.h>
# include <string.h>
# define max(a,b) a>b?a:b
char num[251][500];
void cpy(char a[],char b[])
{
int i, l;
l = strlen(b);
for(i = 0; i < l; i++)
a[i] = b[l-1-i];
a[l] = '\0';
}
void add(char a[],char b[])
{
int la, lb;
int i, w, t;
w = 0;
la = strlen(a);lb = strlen(b);
for(i = 0; i < (max(la,lb)); i++)
{
if(i >= la)
a[i] = '0';
if(i >= lb)
b[i] = '0';
t = a[i]-'0'+b[i]-'0'+w;
if(t > 9)
{
t %= 10;
w = 1;
}
else
w = 0;
a[i] = t+'0';
}
if(w)
a[i++] = '1';
a[i] = '\0';
}
void init()
{
int i;
char tmp[500], tmp1[500];
strcpy(num[0],"1");
strcpy(num[1],"1");
strcpy(num[2],"3");
for(i = 3; i < 251; i++)
{
cpy(tmp,num[i-2]);
cpy(tmp1,num[i-1]);
add(tmp,tmp);
add(tmp,tmp1);
cpy(num[i],tmp);
}
}
void input()
{
int n;
while(scanf("%d",&n)==1)
puts(num[n]);
}
int main()
{
init();
input();
return 1;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -