Pagini recente » Cod sursa (job #3277596) | Cod sursa (job #2705587) | Cod sursa (job #310429) | Cod sursa (job #796152) | Cod sursa (job #3185081)
#include <fstream>
using namespace std;
const int NMAX = 301;
int n, crt[NMAX] = {1, 1}, prec[NMAX] = {1, 1}, aux[NMAX];
ifstream f("nunta.in");
ofstream g("nunta.out");
void add(int A[], int B[]) {
int t = 0;
for(int i = 1 ; i <= max(A[0], B[0]); i++) {
t += A[i] + B[i];
A[i] = t % 10;
t /= 10;
}
while(t)
A[++A[0]] = t % 10;
}
void cpy(int A[], int B[]) {
for(int i = 0; i <= B[0]; i++)
A[i] = B[i];
}
void afis() {
for(int i = crt[0]; i >= 1; i--)
g << crt[i];
}
int main()
{
f >> n;
if(n <= 2) {
g << n;
return 0;
}
for (int i = 2; i <= n; i++) {
cpy(aux, crt);
add(crt, prec);
cpy(prec, aux);
}
afis();
f.close();
g.close();
return 0;
}