Написание функции для проверки, является ли целое число степенью некоторого другого целого числа. - PullRequest
0 голосов
/ 13 января 2020
int Solution::isPower(int A) {
    long double a,b;
   // cout<<a;
    if(A==1)
    {
        return 1;
    }
    for(float i=2;i<=A;i++)
    {
         b=1/i;
         //cout<<i<<endl;
         a=pow(A,b);
         //cout<<a<<endl<<(int)a<<endl;
         if((int)a == a)
         {
             return 1;
         }
    }
    return 0;
}

Даже если int (a) равно a, оно не возвращается 1. Проблема заключается в использовании длинного двойного числа типа. Но когда я использую тип с плавающей запятой, он не работает для больших чисел.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...