C #Функция isPowerOf

У меня есть следующая функция:

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.

Вы можете помочь? Спасибо!

7
задан madhairsilence 6 July 2012 в 12:50
поделиться