Вывести четные положительные степени числа 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.

Объяснение кода листинга программы

  1. Вводим число N с помощью функции read(n).
  2. Инициализируем переменную x значением 2.
  3. С помощью условного оператора проверяем, не превышает ли степень числа 2, возведенная в степень x, число N.
  4. Если условие не выполняется, то выводим 0 и переходим к следующему числу.
  5. Иначе, с помощью цикла while увеличиваем значение переменной x на 2.
  6. Делаем шаг назад на 2, чтобы перейти к следующей четной степени числа 2.
  7. С помощью цикла while выводим значения переменной x, которые являются четными степенями числа 2, и делаем шаг назад на 2 после каждой итерации.
  8. Если x не равно 0, то выводим значение переменной x, которое является четной степенью числа 2, и делаем шаг назад на 2.
  9. Завершаем вывод значений переменной x.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 4.3 из 5
Похожие ответы