Pagini recente » Istoria paginii runda/blablabla | Monitorul de evaluare | Cod sursa (job #1015587) | Istoria paginii runda/moisil_9 | Cod sursa (job #751524)
Cod sursa(job #751524)
#include<fstream>
using namespace std;
int p;
int zero(int x);
int main();
int factorial()
{
long i;
int pas=1<<16;
for(i=0;pas!=0;pas/=2)
if(zero(i+pas)<p)
i+=pas;
if(zero(i+pas+1)==p)
return i+pas+1;
else
return -1;
}
int zero(int x)
{
int ct=0;
while(x>=5)
{
ct+=x/5;
x=x/5;
}
return ct;
}
int main()
{
fstream in,out;
in.open("fact.in",ios::in);
out.open("fact.out",ios::out);
in>>p;
out<<factorial();
in.close();
out.close();
}