Pagini recente » Cod sursa (job #2785806) | Cod sursa (job #1297710) | Cod sursa (job #1867997) | Cod sursa (job #1709398) | Cod sursa (job #1915386)
#include <iostream>
#include <cstdio>
using namespace std;
int f1[1000], f2[1000], f3[1000];
int N;
void copie(int a[], int b[]) {
for(int i = 0; i <= b[0]; ++i) {
a[i] = b[i];
}
}
void aduna(int s[], int a[], int b[]) {
int cat = 0;
int i = 1;
while(i <= a[0] || i <= b[0] || cat) {
s[i] = a[i] + b[i] + cat;
cat = s[i] / 10;
s[i] %= 10;
s[0] = max(s[0], i);
++i;
}
}
int main() {
freopen("nunta.in","r",stdin);
freopen("nunta.out","w",stdout);
cin >> N;
if(N < 4) {
cout << N << '\n';
return 0;
}
f1[0] = f1[1] = 1;
f2[0] = 1, f2[1] = 2;
f3[0] = 1, f3[1] = 3;
for(int i = 4; i <= N; ++i) {
copie(f1, f2);
copie(f2, f3);
aduna(f3, f1, f2);
}
for(int i = f3[0]; i > 0; --i) {
cout << f3[i];
}
cout << '\n';
return 0;
}