Cod sursa(job #247984)

Utilizator ssergiussSergiu-Ioan Ungur ssergiuss Data 24 ianuarie 2009 17:12:27
Problema Factorial Scor 15
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.58 kb
//#include<algorithm>
//using namespace std;
#include<stdio.h>
int p;
void solve(){
	int st,dr,x,y,m,k,ok;
	scanf("%d",&p);
	if(!p)
		printf("1");
	else{
		for(st=1,dr=30000,ok=0; st<dr; ){
			m=(st+dr)/2;
			for(x=m,k=0; x; k+=x/=5);
			if(k>p)
				dr=m-1;
			else if(k<p)
				st=m+1;
			else{
				y=m;
				ok=1;
				break;}}
		if(ok){
			for(k=p; k==p; --y)
				for(x=y,k=0; x; k+=x/=5);
			printf("%d",y+1);}
		else
			printf("-1");}}
	
	
	
int main(){
    freopen("fact.in","r",stdin);
    freopen("fact.out","w",stdout);
    solve();
    return 0;}