Pagini recente » Cod sursa (job #2307389) | Cod sursa (job #1370880) | Cod sursa (job #1863583) | Cod sursa (job #1217969) | Cod sursa (job #532936)
Cod sursa(job #532936)
#include <iostream>
#include <fstream>
using namespace std;
long n,i,j,sol,p;
int main()
{
const long pcrit[14] = {1,6,31,156,781,3906,19531,97656,488281,2441406,12207031,61035156,305175781,1525878906};
ifstream in("fact.in");
in >> n;
if (n==0)
sol=1;
else
{
p=1220703125;
i=13;
do
{
if ((pcrit[i]-1>=n)and((n%(pcrit[i]-1))==0))
{
sol=-1;
//cout << "broke out!!";
break;
}
if (pcrit[i]>n)
{
i--;
p=p/5;
}
else
{
n=n-pcrit[i];
sol=sol+p;
}
}
while (n>0);
//cout << sol;
if (sol!=-1)
sol=sol*5;
}
ofstream out("fact.out");
out << sol;
out.close();
return 0;
}