Перейти к основному содержанию
EDU-MMCS
Вы используете гостевой доступ (Вход)

Программирование*

  1. В начало
  2. Курсы
  3. Осенний семестр
  4. Математика, механика
  5. Программирование*
  6. Общее
  7. Бонусное задание 2. Палиндромы (максимум - 3 балла)

Бонусное задание 2. Палиндромы (максимум - 3 балла)

Открыто с: суббота, 10 октября 2026, 12:00
Срок сдачи: воскресенье, 11 октября 2026, 22:00
Требуемые условия завершения

1. Числовой палиндром.

Натуральное число N назовем палиндромом, если оно читается одинаково справа налево и слева направо. Например, числа 121 и 2002 являются палиндромами, а числа 10, 123 и 2022 - не являются.
Напишите функцию is_palindrome(n), возвращающую True, если n  - это палиндром, и False - в противном случае.
Важно: использовать перевод числа в строку и наоборот не разрешается!

2. Поломай палиндром!

Напишите функцию break_palindrome(s), параметром которой является строка-палиндром, состоящая из маленьких букв русского алфавита. 
Функция должна заменить  в этой строке ровно одну букву, так что полученная в результате строка уже не является палиндромом, при этом новая строка является лексикографически самой маленькой их всех возможных.
В качестве результата функция должна возвращать исправленную строку. Если нет такого способа заменить символ, чтобы строка перестала быть палиндромом, функция должна выдавать строку, состоящую из трех восклицательных знаков, '!!!'.
Примечание. Строка s1 лексикографически меньше, чем строка s2 той же длины, если в той позиции, где s1  и s2 впервые различаются, символ строки s1 меньше (то есть встречается в алфавите раньше), чем соответствующий символ в строке s2. Например, "вагон" лексикографически меньше, чем "вальс", потому что эти слова отличаются в первый раз в третьем символе, а 'г' встречается в русском алфавите раньше, чем 'л'. Если все буквы первого слова два слова полностью совпадают с буквами второго, но второе длиннее, то первое считается меньшим. Например, 'кот' меньше, чем 'котёнок'.
Пример. s = 'тут'.
Правильный ответ: break_palindrome(s)  это  'аут'.
Пояснение: Испортить палиндром 'тут' можно разными способами, например, 'туз' или 'гут'. Но 'аут' - лексикографически самая маленькая строка

Написав функцию is_palindrome(n), проверьте ее на числах 1, 10,  101, 111, 202, 221.
Написав функцию break_palindrome(s), проверьте ее на строках 'шалаш', 'боб', 'я', 'aaaа', 'ага'.  
В обоих случаях следует использовать assert.

Требуется загрузить один файл - программу на языке Python или jupyter-файл.

◄ Бонусное задание 1 (максимум 1 балл)
Лабораторная работа 1 ►

Блоки

Пропустить Навигация

Навигация

  • В начало

    • Страницы сайта

      • Мои курсы

      • Теги

    • Мои курсы

    • Курсы

      • Осенний семестр

        • Прикладная математика и информатика

        • Фундаментальная информатика и ИТ

        • Математика, механика

          • Программирование на C++

          • Введение в проект - Проект 1

          • ТМ_26

          • ЭМТДТ

          • ООП 2019

          • Программирование*

            • Общее

              • ФайлМ.И. Карякин, К.А. Ватульян, Р.М. Мнухин Технологи...

              • ФайлЛекция 1. Часть 1. Введение в компьютерные вычисления

              • ФайлСубтитры к видео

              • ПапкаЛекция 1. Часть 2. Python- первое знакомство

              • ПапкаЛекция 2. Часть 1. Простейшие задачи

              • ПапкаЛекция 2. Часть 2. Условный оператор

              • ПапкаЛекция 3. Циклы

              • ПапкаЛекции 4-5. Функции. Модули. Рекурсия.

              • ПапкаЛекция 6-7. Строки и работа с ними

              • ПапкаКонтрольные работы

              • ФайлНомера вариантов индивидуальных заданий

              • ЗаданиеИндивидуальное задание № 1

              • ЗаданиеБонусное задание 1 (максимум 1 балл)

              • ЗаданиеБонусное задание 2. Палиндромы (максимум - 3 балла)

            • Модуль 1

            • Модуль 2

            • Модуль 3

        • Педагогическое образование

        • Магистратура

          • Разработка мобильных приложений и компьютерных игр

        • Аспирантура

        • Вечернее отделение

        • Другое

        • Этика ИИ

        • ОНС-Н_1

        • Прогр-ММ-2

        • Прогр-ММ-1

        • АБиМ-ИИБ26

        • МСиТВ_АБМ_2026

        • Python Eng

        • Экзамен ИКТ

        • ТестИИ

        • Информатика-Осень-ПМИ-2

        • Информатика-осень-ПМИ-1

      • Весенний семестр

        • Прикладная математика и информатика

        • Фундаментальная информатика и ИТ

        • Математика, механика

        • Педагогическое образование

        • Магистратура

          • Разработка мобильных приложений и компьютерных игр

        • Аспирантура

        • Вечернее отделение

        • Другое

      • Воскресная компьютерная школа

        • Пользователь компьютера плюс

        • Пользователь прикладных программ

        • Программирование I ступень

        • Программирование II ступень

        • Программирование III ступень

        • Архив

      • Воскресная математическая школа

        • Открытое тестирование РНОМЦ и мехмата ЮФУ

          • Открытое тестирование РНОМЦ и мехмата ЮФУ - 2026

          • Открытое тестирование РНОМЦ и мехмата ЮФУ - 2025

        • Олимпиадная математическая школа

        • Повышение квалификации

        • Доступная математика

        • Лаборатория математического онлайн-образования мех...

        • Осенняя универсиада

        • Научно-практическая конференция

        • ВМШ

          • ВМШ -2025

        • Летняя олимпиадная математическая школа РНОМЦ и ме...

      • Государственная итоговая аттестация

      • Дополнительное образование

      • Олимпиады

      • Видеолекции

      • Разное

      • Архив курсов

      • Заочная школа мехмата ЮФУ

Дополнительные блоки

Вы используете гостевой доступ (Вход)
Программирование*
Сводка хранения данных
Скачать мобильное приложение
Яндекс.Метрика