Cod sursa(job #1254694)

Utilizator Darius15Darius Pop Darius15 Data 3 noiembrie 2014 10:42:24
Problema Numere 2 Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.51 kb
#include <fstream>

using namespace std;
ifstream f("numere7.in");
ofstream g("numere7.out");
long long p,exp,st,dr,best,u,o,i,m;
int main()
{
    f>>p;
    st=1,dr=p;
    exp=2;
    while(st<=dr)
    {
        m=(st+dr)/2;
        u=o=1;
        for (i=1;i<=exp;i++)
            u*=m,o*=(m+1);
        if (u<=p && p<o)
        {
            if (u==p) best=m;
            st=1,dr=p,exp++;
        }
        else if (o<=p) st=m+1;
        else if (u>p) dr=m-1;
    }
    g<<best;
    return 0;
}