Cod sursa(job #2576436)
| Utilizator | Data | 6 martie 2020 19:26:12 | |
|---|---|---|---|
| Problema | Factorial | Scor | 100 |
| Compilator | c-64 | Status | done |
| Runda | Arhiva de probleme | Marime | 0.62 kb |
#include <stdio.h>
#include <stdlib.h>
FILE *fin , *fout;
int f(int n) {
int p5=5,nr0=0;
while(p5<=n) {
nr0+=n/p5;
p5*=5;
}
return nr0;
}
int main() {
fin=fopen("fact.in","r");
fout=fopen("fact.out","w");
int n,dr,st,mij,r;
fscanf(fin,"%d",&n);
st=1;
dr=1000000000;
r=-1;
while(st<=dr) {
mij=(st+dr)/2;
if(f(mij)<n) {
st=mij+1;
}
else {
if(f(mij)==n) {
r=mij;
}
dr=mij-1;
}
}
fprintf(fout,"%d\n",r);
fclose(fin);
fclose(fout);
return 0;
}
