Cod sursa(job #497158)
| Utilizator | Data | 1 noiembrie 2010 19:24:16 | |
|---|---|---|---|
| Problema | Factorial | Scor | 45 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.49 kb |
#include "stdio.h"
int get5(int n){
int ret=0;
if(!n)
return 0;
while(n%5==0){
n = n/5;
ret++;
}
return ret;
}
long int fact_zeros(int n){
long int i=0;
int fvs=0;
int ok=0;
while(!ok){
fvs += get5(i);
if(fvs==n)
return i;
if(fvs>n)
return -1;
i+=5;
}
return -1;
}
int main(){
int x;
int rez;
FILE *f,*g;
f = fopen("fact.in","r");
g = fopen("fact.out","w");
fscanf(f,"%d",&x);
fprintf(g,"%d",fact_zeros(x));
return 0;
}