Вводится число. Напечатать YES, если оно является степенью двойки, NO -

Вводится число. Напечатать YES, если оно является ступенью двойки, NO - иначе. Ввод 1 8Вывод 1 YES Ввод 2 22 Вывод 2 NO

Задать свой вопрос
1 ответ

program zz1;

var n:real; // задаем переменную нецелого типа

p:integer; // задаем переменную целого типа

begin

write( введите натуральное число );

read(n);  // вводим с клавиатуры число

while ngt;2 do // организуем цикл пока

begin

n:=n / 2;  // разделяем число напополам

if (n = 1) or (n = 2) then p:=1; // проверяем, если в конце цикла получилась двойка либо единица, то запоминаем это

end;

if p = 1 // проверяем, если нашлось

then writeln( YES ) // выводим один ответ

else writeln( NO ); // иначе, выводим другой ответ

end.

, оставишь ответ?
Имя:*
E-Mail:


Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт