Вот решение задачи на Pascal:
program PowersOfTwo;
var
n, i: integer;
number: longint;
begin
writeln('Введите число n (n > 0):');
readln(n);
if n > 0 then
begin
number := 1;
i := 0;
while i <= n-1 do
begin
write(number, ' ');
number := number * 2;
i := i + 1;
end;
end
else
writeln('Ошибка: n должно быть больше 0');
readln;
end.
Пояснение работы программы:
1. Программа запрашивает у пользователя число n
2. Проверяет, что n > 0
3. Начинает цикл, где:
- Выводит текущее число (начиная с 1)
- Умножает число на 2
- Увеличивает счетчик
4. Цикл продолжается n раз
Пример вывода при n = 4:
1 2 4 8
Программа использует оператор цикла while с условием, что полностью соответствует заданию. Для хранения степеней двойки используется тип longint, чтобы избежать переполнения при больших значениях n.
ЕСЛИ ОШИБКИ КОМПИЛЯЦИИ ИЛИ ЧТО-ТО НЕ УСТРАИВАЕТ, В КОММЕНТАРИЯХ К МОЕМУ ОТВЕТУ УТОЧНЯЙ.
Составьте программу, выводящую на экран числа 1, 2, 4, 8,…, два в степени n (n>0 вводится пользователем с клавиатуры). по теме Реализация циклического алгоритма. Операторы цикла с условием