Cod sursa(job #1255490)

Utilizator Darius15Darius Pop Darius15 Data 4 noiembrie 2014 20:41:17
Problema Numere 2 Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.55 kb
#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;
}