Code Lab

Степень тройки

ЛёгкаяОсновы10 мин

Напиши функцию isPowerOfThree(n), которая возвращает true, если целое число n является степенью тройки, и false, если нет. 1 считается степенью тройки, 0 и отрицательные числа не считаются.

Потом напиши вторую функцию isPowerOf(n, base), которая делает ту же проверку для любого основания base от 2 и больше. Обе функции должны быстро работать и на больших числах.

Примеры

isPowerOfThree(27)

Вернёт true

27 это `3 * 3 * 3`.
isPowerOfThree(45)

Вернёт false

45 делится на 3, но степенью тройки не является.
isPowerOf(16, 2)

Вернёт true

Спрашивали в Hulu · Источник

Загружаем редактор...
  1. Входные данныеisPowerOfThree(27)
    Ожидалосьtrue
  2. Входные данныеisPowerOfThree(45)
    Ожидалосьfalse
  3. Входные данныеisPowerOfThree(1)
    Ожидалосьtrue
  4. isPowerOf(16, 2) даёт true, isPowerOf(12, 2) даёт false
  5. Входные данныеisPowerOfThree(0)
    Ожидалосьfalse

Скрытые тесты запускаются по Submit.