Сайт пишет, что ошибка при проверке

https://acmp.ru/asp/do/index.asp?main=task&id_course=3&id_section=22&id_topic=77&id_problem=409

Условие:

Говорят, что плохой программист – это тот, кто считает, что в одном килобайте 1000 байт, а хороший программист – это тот, кто полагает, что в одном километре 1024 метра.

Многим эта шутка понятна, так как все знают, что в процессах, связанных с информатикой и компьютерной техникой, фигурирует множество значений, выражаемых степенью двойки, то есть чисел вида 2K, где K – некоторое неотрицательное целое число. Назовем такие числа бинарными. Это такие числа как 2, 4, 8, 16, 32 и т.д. Действительно, когда речь идет о размере памяти или о разрешении экрана монитора, то мы часто наталкиваемся на бинарные числа. Все это связано с принципом хранения информации в памяти ЭВМ.

Задано целое число N. Требуется определить, является ли оно бинарным.

Входные данные

Входной файл INPUT.TXT содержит единственное целое число N, не превосходящее 10000 по абсолютной величине.

Выходные данные

В выходной файл OUTPUT.TXT выведите YES, если заданное число является бинарным, и NO в противном случае.

Примеры

  • INPUT.TXT OUTPUT.TXT
  • 1024 YES
  • 23 NO

Вот код:

a = int(input())
if a==1:
    print('NO')
else:
    while a>1:
        a = a / 2
    if a==1:
        print('YES')
    else:
        print('NO')

На сайте написано, что результат неправильный! Я много раз проверял, подставлял разные числа, но сайту что-то не нравится! Вопрос, что ему не понравилось?


Ответы (0 шт):