Ciclos while

Python tem dois tipos de ciclos - ciclos for e ciclos while. Enquanto os ciclos for iteram sobre uma lista (iterável) elemento por elemento, um ciclo while, por outro lado, repete as instruções dentro do seu corpo enquanto a condição no enunciado while for satisfeita. Nesse sentido, é muito semelhante a um enunciado if. Executa as instruções dentro do ciclo while caso a condição seja satisfeita:

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. Inicialmente, atribuímos o valor 0 a ii = 0.


  1. Em seguida, o programa verifica se i < 5 e, como 0 < 5, entra no corpo do ciclo while.

  2. O programa imprime Current i is: 0

  3. A variável i incrementa em 1, tornando-se i = 1


  1. O programa volta à condição e verifica se i < 5. Como 1 < 5 ⇒ entra no corpo do ciclo while.

  2. O programa imprime Current i is: 1

  3. A variável i incrementa em 1, tornando-se i = 2


  1. O programa verifica se i < 5. 2 < 5 ⇒ entra no corpo do ciclo while

  2. O programa imprime Current i is: 2

  3. A variável i incrementa em 1, tornando-se i = 3


  1. O programa verifica se i < 5. 3 < 5 ⇒ entra no corpo do ciclo while

  2. O programa imprime Current i is: 3

  3. A variável i incrementa em 1, tornando-se i = 4


  1. O programa verifica se i < 5. 4 < 5 ⇒ entra no corpo do ciclo while

  2. O programa imprime Current i is: 4

  3. A variável i incrementa em 1, tornando-se i = 5


  1. O programa verifica se i < 5. 5 = 5 ⇒ O programa sai do ciclo while e imprime Done

Desafio

Dado um inteiro positivo n. Imprima o valor de n enquanto for maior que 0 e divida-o por 2 (considerando apenas a parte inteira).

Input

Output

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