Cod sursa(job #836809)
| Utilizator | Data | 16 decembrie 2012 19:23:33 | |
|---|---|---|---|
| Problema | Factorial | Scor | 25 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.41 kb |
#include <stdio.h>
int main(){
freopen("fact.in","r",stdin);
freopen("fact.out","w",stdout);
int n;
scanf("%d",&n);
if(n==0){printf("1");return 0;}
int nr=n*10;
int pow5=5;
int nr5=0;
while(pow5<=nr)
{
nr5+=nr/pow5;
pow5*=5;
}
while(nr5>n)
{ int local=nr;
while(local%5==0){
nr5--;
local/=5;
}
nr-=5;
}
if(nr5<n)
nr+=5;
printf("%d",nr);
return 0;
}