Pagini recente » Cod sursa (job #1896658) | Cod sursa (job #2560358) | Cod sursa (job #1229556) | Cod sursa (job #2965028) | Cod sursa (job #587973)
Cod sursa(job #587973)
#include<stdio.h>
#include<vector>
typedef int Huge[1205];
int N;
Huge A = {1,1};
Huge B = {1,1};
void copy(Huge A,Huge B)
{
int i;
for(i=1;i<=B[0];i++)
A[i] = B[i];
for(i;i<=A[0];i++)
A[i] = 0;
A[0] = B[0];
}
void adunare(Huge A,Huge B)
{
int d = 0;
int c = 0;
for(int i=1;i <= B[0];i++)
{
d = (A[i] + B[i]+c)/10;
A[i] = (A[i] + B[i] + c)%10;
A[0] = i;
c = d;
}
if(c)
A[++A[0]] = c;
Huge C = {0};
copy(C,A);
copy(A,B);
copy(B,C);
}
int main()
{
FILE *f = fopen("nunta.in","r");
FILE *g = fopen("nunta.out","w");
fscanf(f,"%d",&N);
for(int i=2;i<=N;i++)
adunare(A,B);
for(int i=B[0];i;i--)
fprintf(g,"%d",B[i]);
fclose(g);
fclose(f);
return 0;
}