Pagini recente » Cod sursa (job #2382261) | Cod sursa (job #2336759) | Cod sursa (job #1001081) | Cod sursa (job #2551889) | Cod sursa (job #188799)
Cod sursa(job #188799)
/*Se da un numar intreg P. Sa se gaseasca cel mai mic numar natural strict
pozitiv N pentru care N! are exact P cifre de 0 la sfarsit.
Se stie ca N! = 1 * 2 * 3 * .... * (N - 1) * N.
Exemplu : 0 --> 1
2 --> 10
10 --> 45*/
#include<stdio.h>
#include<stdlib.h>
const long int MAX=10000*10000;
long int n;
long int factor(long int m){
int s=1;
long int i;
if(m==0)
return 1;
if(m==1)
return 1;
else
for(i=1;i<=m;i++)
s*=i;
return s;
}
long int min(long int m,long int l){
return m<n?m:n;
}
/*long int pow(int k){
if(k==0)
return 1;
else
return 10*pow(k-1);
}*/
long int ten(long int m){
long int i=0;
while(m>=5){
if(m%5==0)
i++;
m/=5;
}
return i;
}
long int fact(long int n){
long int i;
long int a[100];
long int h=0,aux=0;
for(i=0;i<MAX;i++){
if(ten(factor(i))==n){
a[h]=i;
h++;
}
}
for(i=0;i<h;i++)
if(min(a[i],a[i+1]))
aux=a[i];
return aux;
}
int main(){
freopen("fact.in","r",stdin);
freopen("fact.out","w",stdout);
scanf("%ld",&n);
long int rez=fact(n);
printf("%ld",rez);
return 0;
}