Cod sursa(job #358720)

Utilizator otilia_sOtilia Stretcu otilia_s Data 24 octombrie 2009 11:03:34
Problema Nunta Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 kb
#include <fstream>
using namespace std;

int main()
{
	int n;
	ifstream fin("nunta.in");
	fin>>n;
	fin.close();
	
	ofstream fout("nunta.out");	
	if (n==1) { fout<<"1\n"; fout.close(); return 0;} 
	if (n==2) { fout<<"2\n"; fout.close(); return 0;} 
	int k=2,n1,n2; 
	n1=n2=1;
	int f1[500],f2[500],f3[500],i;
	memset(f1,0,sizeof(f1)); memset(f2,0,sizeof(f2)); memset(f3,0,sizeof(f3));
	f1[1]=1; f2[1]=2;
	while (k<n)
	{
		++k;
		for (i=1;i<=n2;++i)
		 { f3[i]=f1[i]+f2[i]+f3[i-1]/10;
		   f3[i-1]%=10;
		   f1[i]=f2[i]; f2[i-1]=f3[i-1];
		 }
		f2[n2]=f3[n2]%10; 
		if (f3[n2]>9) { f2[n2+1]=f3[n2]/10; n2++;}		
	}
	for (i=n2;i;i--)
	 fout<<f2[i];
	fout.close();  
return 0;
}