Pagini recente » Cod sursa (job #1079999) | Cod sursa (job #2392547) | Istoria paginii implica-te/arhiva-educationala | Cod sursa (job #14304) | Cod sursa (job #1943355)
#include <fstream>
#define MOD 666013
using namespace std;
ifstream fin("nunta.in");
ofstream fout("nunta.out");
void adunare(char a[], char b[], char c[]) {
int i, m;
if (a[0] > b[0]) {
for (i=b[0]+1;i<=a[0];i++)
b[i] = 0;
m = a[0];
} else {
for (i=a[0]+1;i<=b[0];i++)
a[i] = 0;
m = b[0];
}
int t = 0;
for (int i=1;i<=m; i++) {
c[i] = a[i] + b[i] + t;
t = c[i] / 10;
c[i] %= 10;
}
c[0] = m;
if (t) {
c[++c[0]] = t;
}
}
void copiere(char a[], char b[]) {
for (int i=0;i<=b[0];i++)
a[i] = b[i];
}
int n, i;
char a[300], b[300], c[300];
int main() {
fin>>n;
a[1] = a[0] = b[1] = b[0] = 1;
b[1] = 2;
if (n <= 2) {
fout<<n;
return 0;
}
for (i=3; i<=n; i++) {
adunare(a, b, c);
copiere(a, b);
copiere(b, c);
}
for (i=c[0]; i>=1; i--)
fout<<(int)c[i];
return 0;
}