Nu aveti permisiuni pentru a descarca fisierul grader_test1.ok
Cod sursa(job #532931)
Utilizator | Asaftei Robert asafteirobert | Data | 12 februarie 2011 19:08:12 |
---|---|---|---|
Problema | Factorial | Scor | 95 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.59 kb |
#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;
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;
}