// 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.
Тестовое решение: Вводите: дед иван достал наган и пошел с ним в шалаш дед наган шалаш
Объяснение:
Если и считать всё в двоичной системе, то надо сначала все числа перевести в неё.
Перевод из шестнадцатеричной в двоичную- каждая шестнадцатеричная цифра заменяется на четыре двоичных, затем незначащие нули спереди- отбрасываются:
10₁₆ = 00010000₂ = 10000₂
Перевод из восьмеричной в двоичную- каждая восьмеричная цифра заменяется на три двоичных, затем незначащие нули спереди- отбрасываются:
10₈ = 001000₂ = 1000₂
Получаем в итоге пример:
10000₂ + 1000₂ + 10₂* 10000₂ = 10000₂ + 1000₂ + 100000₂ =
= 111000₂
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.
Тестовое решение:
Вводите: дед иван достал наган и пошел с ним в шалаш
дед наган шалаш