Cod sursa(job #243967)
Utilizator | Data | 14 ianuarie 2009 12:25:44 | |
---|---|---|---|
Problema | Factorial | Scor | 10 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.36 kb |
#include<fstream.h>
ifstream f("fact.in");
ofstream g("fact.out");
int p,s=0,d=32000,m,num,sol;
int zero(long x)
{
long nr=0,z=5;
while(z<=x)
{
nr=nr+x/z;
z=z*5;
}
return nr;
}
int main(void)
{
f>>p;
while(s<=d)
{
m=(s+d)/2;
num=zero(m);
if(num==p)
{
sol=m;
d=d-1;
}
else
if(num<p)
s=m+1;
else
d=m-1;
}
g<<sol<<'\n';
return 0;
}