Pagini recente » Cod sursa (job #1397654) | Cod sursa (job #2176291) | Cod sursa (job #1717511) | Cod sursa (job #563168) | Cod sursa (job #1268663)
#include <fstream>
#include <algorithm>
#include <queue>
#include <math.h>
using namespace std;
queue <int> q;
ifstream fin("fact.in");
ofstream fout("fact.out");
long long nr[13];
int main()
{
bool h = 1;
int p;
fin >> p;
int aux = p;
nr[0] = 0;
nr[1] = 1;
for (int i = 2; i <= 12; i++)
{
nr[i] = nr[i - 1] * 5 + 1;
}
int j = 12;
if (p == 0)
{
q.push(0);
}
while (p > 0)
{
while (nr[j] > p)
{
j--;
}
if (j!=12 && (p == nr[j+1] - 1))
h = 0;
p -= nr[j];
q.push(j);
}
int sol=0;
while (!q.empty())
{
sol += pow(5, q.front());
q.pop();
}
if (h==1)
fout << sol;
else { fout << "-1"; }
}