Pagini recente » Cod sursa (job #887981) | Cod sursa (job #674134) | Cod sursa (job #2466421) | Cod sursa (job #456461) | Cod sursa (job #2026878)
#include <cstdio>
unsigned char x[3][215];
void sum(unsigned char a[], unsigned char b[], unsigned char c[])
{
unsigned char t = 0, mx = a[0];
if(b[0] > mx)
mx = b[0];
for (unsigned char i = 1; i <= mx; ++i){
c[i] = a[i] + b[i];
t = c[i]/10;
c[i] %= 10;
}
c[0] = mx;
if(t)
c[++c[0]] = t;
}
int main()
{
freopen("nunta.in", "r", stdin);
freopen("nunta.out", "w", stdout);
int n;
scanf("%d", &n);
if(n == 1){
printf("1\n");
}else if (n == 2){
printf("2\n");
}else{
x[1][0] = 1;
x[1][1] = 1;
x[2][0] = 1;
x[2][1] = 2;
for (int i = 3; i <= n; ++i)
sum(x[(i-1)%3], x[(i-2)%3], x[i%3]);
for (int i = x[n%3][0]; i > 0; --i)
fputc(x[n%3][i]+'0', stdout);
}
fclose(stdin);
fclose(stdout);
return 0;
}