Top.Mail.Ru
Ответы
Аватар пользователя
Аватар пользователя
Аватар пользователя
Аватар пользователя
Программирование
+2

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

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

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

Примечания
Функция не должна ничего возвращать. Для вывода на экран импортируйте пакет fmt.

По дате
По рейтингу
Аватар пользователя
Оракул
12345678910111213141516171819
 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 
}