Python
Возьмем произвольное слово и проделаем с ним следующую операцию: поменяем местами его первую согласную букву с последней согласной буквой, вторую согласную букву с предпоследней согласной буквой и т.д. Если после этой операции мы вновь получим исходное слово, то будем называть такое слово негласным палиндромом. Например, слова sos, rare, rotor, gong, karaoke являются негласными палиндромами.
Вам требуется написать программу, которая по данному слову определяет, является ли оно негласным палиндромом.
Входные данные
Вводится одно слово.
Выходные данные
Программа должна вывести YES, если введенное слово является негласным палиндромом, и NO в противном случае.
Второй
X=2, количество инструментов в группе = 180/2 = 90
Объем памяти для кодирования = log(2)2+log(2)90 ≈ 1+7 = 8 бит.
X=3, количество инструментов в группе = 180/3 = 60
Объем памяти для кодирования = log(2)3+log(2)60 ≈ 2+6 = 8 бит.
X=4, количество инструментов в группе = 180/4 = 45
Объем памяти для кодирования = log(2)4+log(2)45 ≈ 2+6 = 8 бит.
X=5, количество инструментов в группе = 180/5 = 36
Объем памяти для кодирования = log(2)5+log(2)36 ≈ 3+6 = 9 бит.
ответ: X=5
Ограничения: Последовательность не может быть длинее NN.
Откуда: Олимпиада, KZ, 2016.}
const NN = 10000;
var a : array [1 .. NN] of integer; i, j, d, N: integer;
begin
write('Введите длину массива: '); readln(N);
writeln('Введите массив чисел через пробел:');
for i := 1 to N do read( a[i] );
{ Удаляем повторы чисел }
for i := 1 to N-1 do
for j := i+1 to N do
if a[i] = a[j] then a[j] := 0;
{ Создаем последовательность заполняя не нужные числа нулями }
for i := 2 to N do if ( a[i-1] > a[i] ) and ( a[i] <> 0 ) then a[i] := 0;
{ Суммируем не нулевые элементы }
d := 0; for i := 1 to N do if a[i] <> 0 then d := d + 1;
writeln('Максимальная длинна массива после удалений: ',d);
end.