Pagini recente » Cod sursa (job #1050440) | Cod sursa (job #37039) | Cod sursa (job #1763541) | Cod sursa (job #1411554) | Cod sursa (job #1255490)
#include <fstream>
using namespace std;
int p;
int st,dr,m,o,u,exp,i,best,sol;
ifstream f("numere2.in");
ofstream g("numere2.out");
int main()
{
exp=2;
f>>p;
st=1,dr=p;
while(st<=dr)
{
m=(st+dr)/2;
o=u=1;
for (i=1;i<=exp;i++)
o=o*m,u=u*(m+1);
if (o<=p && p<u)
{
dr=m-1,st=1;
if (o==p) best=m,sol=exp;
exp++;
}
else if (u<=p) st=m+1;
else if (o>p) dr=m-1;
}
if (best==0) g<<p<<'\n'<<1;
else g<<best<<'\n'<<sol;
return 0;
}