Pagini recente » Cod sursa (job #10380) | Cod sursa (job #1262162) | Cod sursa (job #1262154) | Cod sursa (job #3042312) | Cod sursa (job #1416616)
#include <stdio.h>
int main(){
FILE *fin, *fout;
fin=fopen("fact.in", "r");
fout=fopen("fact.out", "w");
int p, gasit, cn, n, e2, e5, k,r, x, ls, ld;
fscanf(fin, "%d", &p);
if(p==0){
n=1;
}
else{
ls=5;
ld=1000000000;
gasit=0;
while(gasit==0){
n=(ld+ls)/2;
x=5;
r=n/5;
k=0;
while(x<n){
k++;
x*=5;
}
r+=(k-1)*k/2;
if(r==p){
gasit=1;
}
else{
if(r>p){
ld=(ld+ls)/2;
}
else
ls=(ld+ls)/2;
}
}
n=n-n%5;
}
fprintf(fout, "%d", n);
fclose(fin);
fclose(fout);
return 0;
}