Cod sursa(job #300955)

Utilizator alisssiaMititelu Andra alisssia Data 7 aprilie 2009 20:16:21
Problema Factorial Scor 15
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.56 kb
using namespace std;
#define inf 10000000
#include<stdio.h>
unsigned long st,dr,mij,x,sol,p;

unsigned long zero(unsigned long n)
{
	unsigned long nr=0,i,x;
	for(i=5;i<=n;i=i+5)
		{
			x=i;
			while(x%5==0 && x) {nr++;x=x/5;}
		}  
	return nr;
}

int main()
{
	freopen("fact.in","r",stdin);
	freopen("fact.out","w",stdout);
	scanf("%li",&p);
	st=0;
	dr=inf;
	while(st<=dr)
	{
		mij=st+(dr-st)/2;
		x=zero(mij); 
		if(x==p) 
			{
				sol=mij;
				dr=mij-1;
			}
		else if(x<p) st=mij+1;
			else dr=mij-1;
	}

	if(sol)
	printf("%li",sol);
	else printf("-1");
	return 0;
}