Cod sursa(job #990154)

Utilizator chiriacandrei25Chiriac Andrei chiriacandrei25 Data 27 august 2013 16:27:26
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.65 kb
#include <cstdio>

using namespace std;

int p;

inline int NrZero(int n)
{
	int put=5,sol=0;
	while(put<=n)
	{
		sol+=n/put;
		put*=5;
	}
	return sol;
}

int main()
{
	int a,b,mij,x,sol;
	freopen ("fact.in","r",stdin);
	freopen ("fact.out","w",stdout);
	scanf("%d", &p);
	if(p==0)
		printf("1\n");
	else
	{
		a=1;b=1000000000;sol=0;
		while(a<=b)
		{
			mij=(a+b)/2;
			x=NrZero(mij);
			if(x>p)
				b=mij-1;
			else
				if(x<p)
					a=mij+1;
				else
				{
					sol=mij;
					a=b+1;
				}
		}
		if(sol==0)
			printf("-1\n");
		else
		{
			while(sol%5)
				sol--;
			printf("%d\n", sol);
		}
	}
	return 0;
}