Cod sursa(job #545536)

Utilizator SadmannCornigeanu Calin Sadmann Data 3 martie 2011 15:36:56
Problema Al k-lea termen Fibonacci Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.57 kb
#include<stdio.h>
FILE *in,*out;
int nr5,p;
int num,aux,aux2;
int main()
{
	in=fopen("fact.in","rt");
	out=fopen("fact.out","wt");
	fscanf(in,"%d",&p);

	if(!p)
	{
		fprintf(out,"1");
		return 0;
	}
	for(;nr5<p;)
		{

			aux=num+=25;
			nr5+=1<<2;
			if(nr5<p)
			{
				while(!(aux%25))
				{
					nr5+=1<<1;
					aux/=25;
				}
				if(!(aux%5))
					nr5++;
			}
			else
			{
				aux2=nr5-p+1;
				num-=(aux2<<2)+(aux2--);
				nr5-=aux2;
			}

		}
		if(nr5==p)
			fprintf(out,"%d",num);
		else
			fprintf(out,"-1");



	return 0;
}