М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
Rav1112
Rav1112
09.03.2022 20:20 •  Информатика

Палиндром - слово, читающееся в обе стороны одинаково. Напишите программу, которая превращает в палиндром любое слово, вычеркивая из него минимальное количество букв. Словом будем считать последовтельность строчных букв латинского алфавита. Ввод-вывод
Вы вводите с клавиатуры слово - последовательность малых латинских букв без пробелов (не более 255 символов). Вы выводите на экран одно число - минимальное количество символов, которые нужно удалить, чтоб слово стало палиндромом.

Примеры:
1. Ввод > qwerrewtq
Вывод < 1
2. Ввод > qwert
Вывод < 4

👇
Ответ:
SuperPuper131
SuperPuper131
09.03.2022

Python:

results = []

 

def make_palindrome(string, count=0):

   if string == string[::-1]:

       results.append(count)

   else:

       for i in range(len(string)):

           make_palindrome(string[:i] + string[i + 1:], count + 1)

make_palindrome(input())

print(min(results))

4,6(78 оценок)
Открыть все ответы
Ответ:
айсу17
айсу17
09.03.2022
#include <iostream>
using namespace std;

void reduce(int* m, int* n) {
    int a,b,c;
    a=*m; b=*n;
// НОД a b  - алгоритм Евклида
    do {
        c=a%b;  a=b;  b=c;  }
    while (b>0);
    *m/=a;  *n/=a;
}        

int main() {
    int m,n;
    cout<<"input m n   "; cin>>m>>n;
    cout<<m<<"/"<<n<<" = ";
    reduce(&m,&n);
    if (n>1) cout<<m<<"/"<<n<<endl;
    else cout<<m<<endl;
    system("pause");
    return 0;
}

input m n   25 15
25/15 = 5/3
4,6(14 оценок)
Ответ:
вера731
вера731
09.03.2022
// PascalABC.NET 3.1, сборка 1200 от 13.03.2016

function gcd(a,b:integer):integer;
// Нахождение НОД
begin
  while b<>0 do
  begin
    a:=a mod b;
    var i:=b; b:=a; a:=i
  end;
  Result:=a
end;

procedure Shorter(var a,b:integer);
// "сокращатель" дроби
begin
  var k:=gcd(a,b);
  a:=a div k;
  b:=b div k
end;

begin
  var a,b:integer;
  Writeln('Введите числитель и знаменатель дроби: ');
  Read(a,b);
  Write(a,'/',b,'='); Shorter(a,b); Writeln(a,'/',b)
end.

Тестовое решение:
Введите числитель и знаменатель дроби:
25 15
25/15=5/3
4,6(8 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ