Top.Mail.Ru
Ответы

Информатика, олимпиадная задача

дано число n, как проверить является ли число степенным? вообще прогу написать надо, но мне бы способ узнать. Знаю, что нужно разложить на множители, а дальше как проверить по множителям?

Дополнен

допустим 27=3*3*3, 16 = 4*4. они степенные

По дате
По рейтингу
Аватар пользователя
Оракул
9лет

в цикле от 2 до корня из n перемножаете значение цикла само на себя пока не станет больше n, если при перемножении получится число - выводите что да

Аватар пользователя
Ученик
9лет

Согласен. Хотел написать, да опередили. Как вариант, предложу без внутреннего цикла: для i от 2 до корня из n(отбросить дробную часть!) проверять логарифм по основанию i на целость (нулевую дробную часть). Хотя здесь нужно решить проблему "последнего бита"

Аватар пользователя
Оракул
9лет

Что такое "степенное число"?



Видео по теме