Cod sursa(job #1733940)
Utilizator | Data | 26 iulie 2016 10:19:13 | |
---|---|---|---|
Problema | Factorial | Scor | 0 |
Compilator | c | Status | done |
Runda | Arhiva de probleme | Marime | 0.27 kb |
#include<stdio.h>
int p,k,i,t,b,T;
main(){
freopen("f.in","r",stdin);freopen("f.out","w",stdout);
scanf("%d",&p);
for(T=1;k<p;T*=5)k+=T;
for(t=T/5,b=k;t<T-1;){
for(i=5,k=0;i<=(t+T)/2;i*=5)k+=(t+T)/2/i;
if(k<p)t=(t+T)/2;
else b=k,T=(t+T)/2;
}
printf("%d",b==p?T:-1);
}