У меня есть следующая функция:
static bool isPowerOf(int num, int power)
{
double b = 1.0 / power;
double a = Math.Pow(num, b);
Console.WriteLine(a);
return a == (int)a;
}
Я вставил функцию печати для анализа.
Если я вызову функцию:
isPowerOf(25, 2)
Он возвращает true, так как 5^2
равно 25. Но, если я позвоню по номеру 16807, то есть 7^5
, следующим образом:
isPowerOf(16807, 5)
В этом случае он печатает «7», но a == (int)a
возвращает false.
Вы можете помочь? Спасибо!