Cod sursa(job #591756)

Utilizator Agent008Cristi Poputea Agent008 Data 25 mai 2011 15:26:38
Problema Factorial Scor 45
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.75 kb
#include<iostream.h>
#include<fstream.h>
#include<math.h>
fstream f("fact.in",ios::in), g("fact.out",ios::out);
long long contor,i,ok,ur=1,p,b,t;
int main()
{
	long long k,v,pu=5,l,o,ok2=0;
	f>>k;
	if(k!=5)
	{while(contor<k && !ok)
	{
		i+=pu;
		contor+=ur;
		if(i==pu*5)
		{	contor++;
			ur=contor;
			pu=pu*5;
			
		}
		if(contor>k)
			ok=1;
	}
	p=pu/5;
	l=ur;v=pu;b=(ur-1)/5;o=1;
	while(ok && v<i && ok2==0)
	{
		v+=p;
		l+=b;
		if(i==v)
			if(l!=contor)
				ok2=1;
		if(b==1)
		{	o++;
			if(o==6)
				ok2=1;
		}
		if(l>k)
		{	l-=b;v-=p;b=(b-1)/5;p=p/5;o=1;}
		if(l==k)
			ok=0;
	}
	}
	else
		ok2=1;
	if(o==1)
		ok2=1;
	if(l==k)
		ok2=0;
	if(ok2==1)
	{	g<<"-1";cout<<"-1";}
	else
	{	g<<v;cout<<v;}
	return 0;
}