Предмет: Информатика,
автор: Трафальгар
Напишите программу, которая заполняет массив из N элементов степенями числа 2, начиная с 2 1 до 2 N , в обратном порядке.
Входные данные
Входная строка содержит размер массива N . Гарантируется, что 0 < N ≤ 30 .
Выходные данные
Программа должна вывести содержимое массива: N первых степеней числа 2 в обратном порядке (последний элемент должен быть равен 2 1 ).
Примеры
входные данные
5
выходные данные
32 16 8 4 2
Ответы
Автор ответа:
0
К сожалению, задание составлено некорректно.
0<N≤30 допускает случай N=0. Но тогда ряд значений должен оканчиваться 2⁰, а не 2¹, как указано. Да и массив из N элементов при N=0 - нечто странное. Поэтому принято решение считать значение N<1 ошибкой.
// PascalABC.NET 3.3, сборка 1555 от 21.10.2017
// Внимание! Если программа не работает, обновите версию!
begin
var n:=ReadInteger;
Assert(n>0,'Нарушение: N<=0');
var a:=SeqGen(n,2,i->2*i).Reverse.ToArray;
a.Println
end.
Примеры
5
32 16 8 4 2
20
1048576 524288 262144 131072 65536 32768 16384 8192 4096 2048 1024 512 256 128 64 32 16 8 4 2
0<N≤30 допускает случай N=0. Но тогда ряд значений должен оканчиваться 2⁰, а не 2¹, как указано. Да и массив из N элементов при N=0 - нечто странное. Поэтому принято решение считать значение N<1 ошибкой.
// PascalABC.NET 3.3, сборка 1555 от 21.10.2017
// Внимание! Если программа не работает, обновите версию!
begin
var n:=ReadInteger;
Assert(n>0,'Нарушение: N<=0');
var a:=SeqGen(n,2,i->2*i).Reverse.ToArray;
a.Println
end.
Примеры
5
32 16 8 4 2
20
1048576 524288 262144 131072 65536 32768 16384 8192 4096 2048 1024 512 256 128 64 32 16 8 4 2
Похожие вопросы
Предмет: Физика,
автор: zumagulnurila2
Предмет: Геометрия,
автор: mmega2751
Предмет: История,
автор: ThenIllcomeupwith
Предмет: Математика,
автор: kkornilaeva8dghhdgh
Предмет: Химия,
автор: space13