Pagini recente » Cod sursa (job #870356) | Cod sursa (job #792014) | Cod sursa (job #3247824) | Cod sursa (job #1126198) | Cod sursa (job #417878)
Cod sursa(job #417878)
#include<stdio.h>
#include<math.h>
int put(int x) {
int k=0;
while(x%5==0) k++, x/=5;
return k;
}
int main() {
freopen("fact.in","r",stdin);
freopen("fact.out","w",stdout);
int r,p,i,t1,t2,k1,k2=0,k;
scanf("%d",&p);
if(!p) { printf("1\n"); return 0; }
for(i=1; k2<p; i++) {
k2=(pow(5,i)-1)/4;
t2=pow(5,i);
}
if(k2==p) printf("%d\n",t2);
else {
t1=t2/5;
k1=(pow(5,put(t1))-1)/4;
if(p>(k1+k2)/2) {
k=t2+5;
while(k2>=p) k-=5, k2-=put(k);
}
else {
k=t1;
while(k1<p) k+=5, k1+=put(k);
}
}
printf("%d\n",k);
return 0;
}