Cod sursa(job #587963)

Utilizator maritimCristian Lambru maritim Data 6 mai 2011 16:10:27
Problema Nunta Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 kb
#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)
{
	for(int i=1;i<=B[0];i++)
		A[i] = B[i];
	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;
	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;
}