Cod sursa(job #2552686)
| Utilizator | Data | 21 februarie 2020 09:28:14 | |
|---|---|---|---|
| Problema | Factorial | Scor | 90 |
| Compilator | c-64 | Status | done |
| Runda | Arhiva de probleme | Marime | 0.54 kb |
#include <stdio.h>
#include <stdlib.h>
FILE *fin , *fout;
int nr0(int x) {
int nr=0,p=5;
while(p<=x) {
nr+=x/p;
p*=5;
}
return nr;
}
int main() {
fin=fopen("fact.in","r");
fout=fopen("fact.out","w");
int p,st,dr,mij;
fscanf(fin,"%d",&p);
st=1;
dr=1000000000;
while(dr>st) {
mij=(st+dr)/2;
if(nr0(mij)<p) {
st=mij+1;
}
else {
dr=mij;
}
}
fprintf(fout,"%d\n",st);
fclose(fin);
fclose(fout);
return 0;
}
