8917. Степени двойки

 

Для заданного натурального числа n вывести все степени двойки меньше n в порядке возрастания.

 

Вход. Одно натуральное число n (n ≤ 109).

 

Выход. Выведите все степени двойки меньше n в порядке возрастания.

 

Пример входа

Пример выхода

7

2 4

 

 

РЕШЕНИЕ

цикл

 

Анализ алгоритма

Выводим в порядке возрастания первые степени двоек: 2, 4, 8, … пока выводимые числа меньше n.

 

Реализация алгоритма

Читаем входное значение n.

 

scanf("%d", &n);

 

Инициализируем i = 2. Выводим степени числа 2, пока они меньше n.

 

for (i = 2; i < n; i *= 2)

  printf("%d ", i);

 

Реализация алгоритма – while

Читаем входное значение n.

 

scanf("%d", &n);

 

Инициализируем i = 2.

 

i = 2;

 

Выводим степени числа 2, пока они меньше n.

 

while (i < n)

{

  printf("%d ", i);

  i *= 2;

}