Pagini recente » Cod sursa (job #178927) | Cod sursa (job #1984047) | Cod sursa (job #1518948) | Cod sursa (job #1815263) | Cod sursa (job #2024208)
#include<fstream>
using namespace std;
int nr_zerouri(int k)
{
int t=0,p=5;
while(k>=p)
{
t=t+k/p;
p=p*5;
}
return t;
}
int main()
{
ifstream read("fact.in");
ofstream write("fact.out");
int P;
read>>P;
if(P==0)
{
write<<1;
}
else
{
int cpst=5,cpdr=403225807,cpmj;
while(cpst!=cpdr)
{
cpmj=(cpst+cpdr)/2;
if(nr_zerouri(cpmj)>P)
{
cpdr=cpmj;
}
else if(nr_zerouri(cpmj)<P)
{
cpst=cpmj;
}
else if(nr_zerouri(cpmj)==P)
{
cpst=cpmj;
cpdr=cpmj;
break;
}
}
if (nr_zerouri(cpst)==P) {write<<cpst-cpst%5;}
else {write<<-1;}
}
return 0;
}