Cod sursa(job #6229)

Utilizator skyelHighScore skyel Data 18 ianuarie 2007 15:55:22
Problema Factorial Scor 85
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.58 kb
#include<fstream.h>
#define input "fact.in"
#define output "fact.out"


int check(int p,int h)
	{
	while(h!=1)
		{
		if(p%h==0)
			return 1;
		h--;
		h=h/5;
		}
	return 0;
	}
int main()
	{
	long long h,x,p;
	int gr;
	ifstream fin(input);
	ofstream fout(output);
	fin>>p;
	x=p;
	h=1;
	gr=0;
	if(p>=1)
		{
		while(h*5+1<=p)
			{
			h=(h*5)+1;
			gr++;
			}
		if(check(p+gr,h))
			fout<<"-1";
		else
			{
			while(h!=1)
				{
				x-=(x/h);
				h--;
				h=h/5;
				}
			fout<<x*5;
			}
		}
	else
		if(p==0)
			fout<<"1";

	fout<<"\n";
	return 0;
	}