Cod sursa(job #526026)

Utilizator ContraPunctContrapunct ContraPunct Data 27 ianuarie 2011 01:22:39
Problema Factorial Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.52 kb
#include<cstdio>
using namespace std;
long long p,st,dr,mij,fmij;
long long Nr_zero(int a){
	long long nr =0,q=5;
	
	while((a/q)!=0) {
		nr=nr+a/q;
		q=q*5;
	}
	return nr;
}

int main(){
	freopen("fact.in","r",stdin);
	freopen("fact.out","w",stdout);
	scanf("%lld",&p);
	st=1;
	dr=5*p;
	
	while(st<=dr){
		mij=(st+dr)/2;
		fmij=Nr_zero(mij);
		if(p<fmij)
			dr=mij-1;
		else
			if(p>fmij)
				st=mij+1;
		else 
		{
			printf("%lld\n",mij);
			return 0;
		}
	}
	printf("-1\n");
return 0;
}