Cod sursa(job #279852)

Utilizator razvan_3dragomir razvan razvan_3 Data 13 martie 2009 00:40:44
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.92 kb
#include<fstream.h>
ifstream intrare("fact.in");
ofstream iesire("fact.out");
long p,n;
int cinci(long k)
{
	int count=1;
	long act=25;
	while(k%act==0)
	{
		act=act*5;
		count++;
	}
	return count;
}

int main()
{
	intrare>>p;
	if(p==0)iesire<<"1";
	else
	{
		long act=5,nr=1;
		if(p>=100000000){nr=100000000;act=400000015;}
		else if(p>=90000000){nr=90000000;act=360000015;}
		else if(p>=80000000){nr=80000000;act=320000015;}
		else if(p>=70000000){nr=70000000;act=280000015;}
		else if(p>=60000000){nr=60000000;act=240000020;}
		else if(p>=50000000){nr=50000000;act=200000010;}
		else if(p>=40000000){nr=40000000;act=160000015;}
		else if(p>=30000000){nr=30000000;act=120000010;}
		else if(p>=20000000){nr=20000000;act=80000015;}
		else if(p>=10000000){nr=10000000;act=40000010;}
		while(nr<p)
		{
			act+=5;
			nr+=cinci(act);
		}
		if(nr==p)iesire<<act;
		else iesire<<"-1";
	}
	return 0;

}