ruslanbaxsiev79
21.10.2021 17:24

Python
Возьмем произвольное слово и проделаем с ним следующую операцию: поменяем местами его первую согласную букву с последней согласной буквой, вторую согласную букву с предпоследней согласной буквой и т.д. Если после этой операции мы вновь получим исходное слово, то будем называть такое слово негласным палиндромом. Например, слова sos, rare, rotor, gong, karaoke являются негласными палиндромами.

Вам требуется написать программу, которая по данному слову определяет, является ли оно негласным палиндромом.

Входные данные
Вводится одно слово.

Выходные данные
Программа должна вывести YES, если введенное слово является негласным палиндромом, и NO в противном случае.

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
aveter256
04.11.2021 02:37
// PascalABC.NET 3.1, сборка 1214 от 09.04.2016
function AutoMorph(n:integer):boolean;
begin
  var s1:=n.ToString;
  Result:=(s1=(n*n).ToString.Right(s1.Length))
end;

begin
  var a,b:integer;
  Write('Введите а и b: '); Read(a,b);
  for var i:=a to b do
    if AutoMorph(i) then Print(i)
end.

Тестовое решение:
Введите а и b: 1 10000
1 5 6 25 76 376 625 9376

Попробовал переписать функцию в более примитивный вид. По-моему, она не стала проще, только удлинилась...

function AutoMorph(n:integer):boolean;
begin
  var s1:=IntToStr(n); // n переводим в строковое представление
  var s2:=IntToStr(n*n); // n*n переводим в строковое представление
  var l1:=Length(s1); // длина строки s1
  s2:=RightStr(s2,l1); // правые l1 символов из s2
  Result:=(s1=s2)
end;
0,0(0 оценок)
Ответ:
gamergrisha1
21.06.2021 13:43
USES CRT,Graph;VAR Device,Mode:Integer;    i,x,y,s:Integer;BEGINCLRSCR;       Device:=0;       InitGraph(Device,Mode,'');       s:=100;       x:=320;       y:=240;       for i:=1 to 9 do           begin               SetLineStyle(0,0,ThickWidth);               Circle(x,y,s);               Delay(200);               SetColor(Black);               Circle(x,y,s);               s:=s-10;               SetColor(White);           end;            for i:=1 to 9 do           begin               SetLineStyle(0,0,ThickWidth);               Circle(x,y,s);               Delay(200);               SetColor(Black);               Circle(x,y,s);               s:=s+10;               SetColor(White);           end;          Circle(x,y,s);Readln;END.
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота