Pagini recente » Cod sursa (job #739396) | Cod sursa (job #1789095) | Cod sursa (job #2215841) | Cod sursa (job #2890397) | Cod sursa (job #381435)
Cod sursa(job #381435)
/*Se da un nr intreg p gasiti ce l mai mic nr strict n,natural a.i. n!
are p cif 0 la sf */
#include <stdio.h>
#include <limits.h>
FILE *f;
long p,n;
int main(){
long x,u,t,s;
f=fopen("fact.in","r");
fscanf(f,"%ld",&p);
fclose(f);
f=fopen("fact.out","w");
if(p==0){
fprintf(f,"1");
return 0;
}
x=1; u=LONG_MAX;
while(x<=u){
n=(x+u)/2;
t=5; s=0;
while(t<=n){
s+=n/t;
t*=5;
}
if(s==p) {
n=n-n%5;
fprintf(f,"%ld",n);
break;
}
else {
if(s>p){
//caut in stanga
u=n-1;
}
else{
x=n+1;
}
}
}
if(x>u){
fprintf(f,"-1");
}
fclose(f);
return 0;
}