Pagini recente » Cod sursa (job #1558823) | Cod sursa (job #1537344) | Cod sursa (job #3271215) | Cod sursa (job #389659) | Cod sursa (job #1268827)
#include <fstream>
using namespace std;
ifstream fin("fact.in");
ofstream fout("fact.out");
int p2,mij,div5,i;
int p1=1,n;
int factorial(int x){
int divv = 0;
int i;
for(i=5;i<=x;i=i*5)
divv=divv+x/i;
return divv;
}
int main()
{
p2=2147483646;
fin>>n;
if(n==0)fout<<1;
else{
while(p2-p1>1)
{ mij=(p1+p2)/ 2;
div5=factorial(mij);
if(div5>=n)p2=mij;
else p1=mij;
}
if (factorial (p1)==n)
fout<<p1;
else
if (factorial (p2) == n)
fout<<p2;
else
fout<<-1;}
fin.close();
fout.close();
return 0;
}