1. заполните массив степенями числа 2, начиная с конца, так чтобы последний эле-мент массива был равен 1, а каждый предыдущий был в 2 раза больше следующего. например: 32 18 8 4 2 1
// PascalABC.NET 3.0, сборка 1139 от 10.01.2016 begin var s:=ReadLnString('Вводите:'); s.ToWords.Where(x->x=ReverseString(x)).PrintLn; end.
Тестовое решение: Вводите: дед иван достал наган и пошел с ним в шалаш дед наган и с в шалаш
Вариант, если исключить однобуквенные:
// PascalABC.NET 3.0, сборка 1139 от 10.01.2016 begin var s:=ReadLnString('Вводите:'); s.ToWords.Where(x->x=ReverseString(x)). Where(x->x.Length>1).PrintLn; end.
Тестовое решение: Вводите: дед иван достал наган и пошел с ним в шалаш дед наган шалаш
===== PascalABC.NET =====
begin
var n := ReadInteger('Длина массива:');
var a := new BigInteger[n];
var k := BigInteger.One;
for var i := n-1 downto 0 do
begin
a[i] := k;
k *= 2
end;
a.Println
end.