Pagini recente » Cod sursa (job #1370929) | Cod sursa (job #1880534) | Cod sursa (job #2384453) | Cod sursa (job #2140631) | Cod sursa (job #2322861)
#include <fstream>
using namespace std;
#define nmax 20
ifstream f("fact.in");
ofstream g("fact.out");
unsigned long long v[nmax+1],s[nmax+1],st,dr,nr,P,i,j;
int main()
{
f >> P;
s[0] = 1;
s[1] = 1;
s[2] = 6;
v[1] = 1;
v[0] = 1;
for(i=2;i<nmax;++i)
v[i] = 5*v[i-1];
for(i=3;i<nmax;++i)
s[i] = 5*s[i-1] + 1;
while(P){
st=1;
while(P>=s[st]) ++st;
if(P>s[st]-st) {g << -1; return 0;}
else while(P>=s[st-1]) {P -= s[st-1]; nr += v[st-1];}
}
if(nr) g << 5*nr;
else g << 1;
return 0;
}