Cod sursa(job #1046427)
Utilizator | Data | 2 decembrie 2013 21:54:58 | |
---|---|---|---|
Problema | Factorial | Scor | 35 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.4 kb |
#include<stdio.h>
FILE*f=fopen("fact.in","r");
FILE*g=fopen("fact.out","w");
int n;
int main()
{
fscanf(f,"%d",&n);
int p=1;
int u=5*n+1;
int m;
while(p<=u)
{
m=(p+u)/2;
int put=5;
int nr=0;
while(put<=m)
{
nr+=m/put;
put*=5;
}
if(nr>n)
u=m-1;
else if(nr<n)
p=m+1;
else
break;
}
fprintf(g,"%d",m);
fclose(f);
return 0;
}