Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Golang язык программирования Степень двойки

dasdsad dasdasd Ученик (181), на голосовании 1 год назад
Напишите функцию IsPowerOfTwoRecursive(N int), которая выводит на экран слово YES, если число N является точной степенью двойки, или слово NO в противном случае.

Операцией возведения в степень пользоваться нельзя!

Примечания
Функция не должна ничего возвращать. Для вывода на экран импортируйте пакет fmt.
Голосование за лучший ответ
Sergio 2.1 Оракул (67303) 1 год назад
 package main 

import "fmt"

func IsPowerOfTwoRecursive(N int) {
if N == 1 {
fmt.Println("YES")
} else if N < 1 || N%2 != 0 {
fmt.Println("NO")
} else {
IsPowerOfTwoRecursive(N / 2)
}
}

func main() {
IsPowerOfTwoRecursive(16) // YES
IsPowerOfTwoRecursive(18) // NO
}
Похожие вопросы