Cod sursa(job #540771)
| Utilizator | Data | 24 februarie 2011 13:11:54 | |
|---|---|---|---|
| Problema | Factorial | Scor | 15 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.48 kb |
#include <stdio.h>
#include <math.h>
FILE*f = fopen("fact.in","r");
FILE*g = fopen("fact.out","w");
int v[100002];
int i,s,j,x,p,u,m;
int main() {
for (i=1;i<=100001;i++) {
j=1;
s=0;
while (i/int(pow(5,j)) > 0){
s+=i/int(pow(5,j));
j++;
}
v[i]=s;
}
//printf("%d",v[100000]);
fscanf(f,"%d",&x);
p=1; u=100002;
while (p<=u){
m = p + (u-p)/2;
if(v[m]>=x)
u=m-1;
else
p=m+1;
}
fprintf(g,"%d\n",p);
return 0;
}
