Cod sursa(job #300942)

Utilizator alisssiaMititelu Andra alisssia Data 7 aprilie 2009 20:05:59
Problema Factorial Scor 25
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.55 kb
using namespace std;
#define inf 1000000
#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=1;
	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;
}