Pagini recente » Cod sursa (job #2289491) | Cod sursa (job #2063207) | Cod sursa (job #1833928) | Cod sursa (job #566634) | Cod sursa (job #1125906)
#include <cstdio>
#include <algorithm>
#include <cstring>
#define NMAX 1000
using namespace std;
int Aux1[NMAX], Aux2[NMAX], Aux3[NMAX];
void adun(int a[], int b[]){
a[0] = max(a[0], b[0]);
int t = 0;
for(int i = 1; i <= a[0]; ++i){
a[i] += b[i] + t;
t = a[i] / 10;
a[i] %= 10;
}
while(t > 0){
a[++a[0]] = t % 10;
t /= 10;
}
}
int main(){
int n = 0;
freopen("nunta.in", "r", stdin);
freopen("nunta.out", "w", stdout);
scanf("%d", &n);
if(n <= 3){
printf("%d", n);
return 0;
}
Aux1[0] = Aux2[0] = 1;
Aux1[1] = 2;
Aux2[1] = 3;
for(int i = 4; i <= n; ++i){
memcpy(Aux3, Aux1, sizeof(Aux1));
adun(Aux3, Aux2);
memcpy(Aux1, Aux2, sizeof(Aux1));
memcpy(Aux2, Aux3, sizeof(Aux2));
}
for(int i = Aux3[0]; i >= 1; --i)
printf("%d", Aux3[i]);
}