Cod sursa(job #809782)

Utilizator anamariaaAvram Ana-Maria anamariaa Data 9 noiembrie 2012 00:22:07
Problema Factorial Scor 60
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.49 kb
#include<fstream>
using namespace std;

long long f(long long x)
{
	int p=5,nr=0;
	while (p<=x)
	{
		nr=nr+x/p;
		p=p*5;
	}
	return nr;
}

int main()
{
	ifstream fin("fact.in");
	ofstream fout("fact.out");
	long long p, max=100000000, min=0, x, m;
	fin>>p;
	if (p==0) min=1;
		else while (min<=max)
			{
				x=(min+max)/2;
				if (x<5) m=0;
					else m=f(x);
				if (m<p) min=x+1;
					else max=x-1;
			}		
	if (f(min)==p) fout<<min;
		else fout<<"-1";
	return 0;
}