Циклы 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.

  2. Программа выводит Current i is: 0.

  3. Переменная i увеличивается на 1, становится i = 1.


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

  2. Программа выводит Current i is: 1.

  3. Переменная i увеличивается на 1, становится i = 2.


  1. Программа проверяет i < 5. Так как 2 < 5, она входит в тело цикла while.

  2. Программа выводит Current i is: 2.

  3. Переменная i увеличивается на 1, становится i = 3.


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

  2. Программа выводит Current i is: 3.

  3. Переменная i увеличивается на 1, становится i = 4.


  1. Программа проверяет i < 5. Так как 4 < 5, она входит в тело цикла while.

  2. Программа выводит Current i is: 4.

  3. Переменная 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