Pagini recente » Istoria paginii runda/nr_reale | bob | Istoria paginii monthly-2012/runda-9/solutii | Cod sursa (job #626818) | Cod sursa (job #2068876)
#include <iostream>
#include <fstream>
using namespace std;
int caut_nr(int nr,int n)
{
int nrz=0;
while(n>=nr)
nrz+=(n/=nr);
return nrz;
}
int main()
{
long long nr,pas,r,q;
ifstream cin ("gfact.in");
ofstream cout ("gfact.out");
cin>>nr>>q;
pas=(nr*q);
r=0;
while(pas!=0)
{
if(caut_nr(nr,r+pas)<q)
r+=pas;
pas=pas/2;
}
if(caut_nr(nr,r+1) == q)
cout << r+1;
else
cout<<-1;
return 0;
}