Циклы while

В Python есть два типа циклов — циклы for и циклы while. Если циклы for перебирают список (итерируемый объект) по одному элементу, то цикл while, наоборот, повторяет команды внутри своего тела, пока условие в выражении while истинно. В этом смысле он очень похож на оператор if. Он выполняет команды внутри цикла while, если условие истинно:
i = 0
while i < 5:
    print('Current i is:', i)
    i += 1
print('Done')
Current i is: 0
Current i is: 1
Current i is: 2
Current i is: 3
Current i is: 4
Done
The program on the left will print this output
  1. Изначально переменной i присваивается значение 0i = 0.

  1. Затем программа проверяет, является ли i < 5, и поскольку 0 < 5, она заходит в тело цикла while.
  1. Программа выводит Current i is: 0.
  1. Переменная i увеличивается на 1, становится i = 1.

  1. Программа снова проверяет условие i < 5. Поскольку 1 < 5, она входит в тело цикла while.
  1. Программа выводит Current i is: 1.
  1. Переменная i увеличивается на 1, становится i = 2.

  1. Программа проверяет i < 5. Так как 2 < 5, она входит в тело цикла while.
  1. Программа выводит Current i is: 2.
  1. Переменная i увеличивается на 1, становится i = 3.

  1. Программа проверяет i < 5. Поскольку 3 < 5, она входит в тело цикла while.
  1. Программа выводит Current i is: 3.
  1. Переменная i увеличивается на 1, становится i = 4.

  1. Программа проверяет i < 5. Так как 4 < 5, она входит в тело цикла while.
  1. Программа выводит Current i is: 4.
  1. Переменная i увеличивается на 1, становится i = 5.

  1. Программа проверяет i < 5. Поскольку 5 = 5, условие ложно ⇒ программа выходит из цикла while и выводит Done.
 

Задание

Дано положительное целое число n. Выводите значение n, пока оно больше 0, и делите его на 2 (беря только целую часть).
Ввод
Вывод
100
100 50 25 12 6 3 1
5
5 2 1
 

Constraints

Time limit: 2 seconds

Memory limit: 512 MB

Output limit: 1 MB

To check your solution you need to sign in
Sign in to continue