Вывести четные положительные степени числа 2, не превышающие числа N - Pascal ABC
Формулировка задачи:
Напишите программу, которая вводит натуральное число N и выводит на экран чётные положительные степени числа 2, не большие, чем N , в порядке убывания.
Входные данные
Входная строка содержит одно натуральное число N .
Выходные данные
Программа должна вывести в одну строчку через пробел чётные положительные степени числа 2, не большие, чем N , в порядке убывания. Если таких нет, программа должна вывести число 0.
Примеры
входные данные
1025
выходные данные
1024 256 64 16 4
входные данные
3
выходные данные
0
Решение задачи: «Вывести четные положительные степени числа 2, не превышающие числа N»
textual
Листинг программы
var n, x: integer; begin read(n); x := 2; if (power(2, x) > n) then write('0') else begin while (power(2, x) <= N) do inc(x, 2); dec(x, 2); while (x <> 0) do begin write(power(2, x), ' '); dec(x, 2); end; end; end.
Объяснение кода листинга программы
- Вводим число N с помощью функции read(n).
- Инициализируем переменную x значением 2.
- С помощью условного оператора проверяем, не превышает ли степень числа 2, возведенная в степень x, число N.
- Если условие не выполняется, то выводим 0 и переходим к следующему числу.
- Иначе, с помощью цикла while увеличиваем значение переменной x на 2.
- Делаем шаг назад на 2, чтобы перейти к следующей четной степени числа 2.
- С помощью цикла while выводим значения переменной x, которые являются четными степенями числа 2, и делаем шаг назад на 2 после каждой итерации.
- Если x не равно 0, то выводим значение переменной x, которое является четной степенью числа 2, и делаем шаг назад на 2.
- Завершаем вывод значений переменной x.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д