Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.84/19: Рейтинг темы: голосов - 19, средняя оценка - 4.84
1 / 1 / 0
Регистрация: 07.10.2015
Сообщений: 37
1

Найти следующий палиндром после заданного

02.03.2017, 21:56. Показов 3436. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте.

Есть вот такое задание: На одометре (прибор для измерения пробега автомобиля) число 15951. Через 2 часа езды он показывает другое число палиндром. Какова средняя скорость? Написать программу, позволяющую задать новое значение на одометре (новое число должно быть больше начального (15951) и быть палиндромом) и вычисляющую среднюю скорость.
Это надо реализовать с помощью библиотеки algorithm.

Моя идея: берем число, проверяем, если оно состоит из четного количества цифр ( .length() % 2 == 0), то разбиваем его на две части. Первую увеличиваем на один, потом ее копируем в обратном порядке (copy_backward). Если число состоит из нечетного количества цифр, то делим его на две части (без середины), если середина от 0 до 8, то прибавляем к ней 1, а далее алгоритм как при четном случае, только не прибавляем единицу к первой части. Если середина = 9, то обнуляем ее, а далее алгоритм как при четном случае. Вот.

Не уверена, что моя идея вообще рабочая. Даже если и да, то не совсем понимаю, как это все записать. Если есть универсальный алгоритм для поиска следующего палиндрома после заданного, то подскажите, пожалуйста.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
02.03.2017, 21:56
Ответы с готовыми решениями:

Найти минимальное простое число-палиндром не меньше заданного N
Понятие простой - делится на себя и на 1. Понятие палиндром - читается одинаково с одних и тех же сторон (121,70207 и тд). Написать...

Найти минимальное простое число палиндром не меньше заданного числа N
Назовем натуральное число палиндромом, если оно не меняется при перестановке его цифр в обратном порядке назовем натуральное число...

Следующий палиндром
Натуральное число называется палиндромом, если его запись в десятичной системе счисления читается слева направо также, как и справа налево....

1
1272 / 1029 / 470
Регистрация: 25.12.2016
Сообщений: 3,333
02.03.2017, 22:09 2
Самый простой способ - перебирать все числа начиная с данного плюс 1 и проверять, являются ли они палиндромами - для этого написать функцию isPalindrom(x), возвращающую true, если аргумент является палиндромом. Сама по себе проверка на палиндромность не представляет ничего сложного, на форуме есть 10500 тем, посвящённых этому вопросу.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
02.03.2017, 22:09
Помогаю со студенческими работами здесь

Следующий палиндром
Натуральное число называется палиндромом, если его запись в десятичной системе счисления читается слева направо также, как и справа налево....

Следующий палиндром
Натуральное число называется палиндромом, если его запись в десятичной системе счисления одинаково читается как слева направо, так и справа...

Найти самый длинный палиндром заданного предложения
В программировании я новичок, поэтому прошу о помощи) Задача: Найти самый длинный палиндром заданного предложения. (Палиндром - слово,...

Найти ближайший простой палиндром, больший заданного n (задача из раздела C++)
Мое решение: isPal n = s == rs where s = show n rs = reverse s isPrime n |...

Найти следующий по величине после минимального элемент массива
Задан одномерный массив чисел. Написать программу которая находит следующий по величине после минимального элемент и его номер. ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему

Редактор формул (кликните на картинку в правом углу, чтобы закрыть)
Новые блоги и статьи
Что нового в C# 14
UnmanagedCoder 10.03.2025
Предстоящая версия C# 14 обещает принести изменения, которые сделают разработку еще более приятной и эффективной. Что стоит отметить, так это влияние сообщества разработчиков на формирование новых. . .
Формулы поворота
Igor3D 10.03.2025
Добрый день Тема Эти формулы приводятся во множестве тьюториалов, часто под видом "матрица вращения на плоскости". x' = x * cos(a) - y * sin(a) y' = y * cos(a) + x * sin(a) Как бы Вы их. . .
Что нового в .NET 10
UnmanagedCoder 10.03.2025
. NET 10 выходит как релиз с длительной поддержкой (LTS), включающей три года обновлений. В этом обновлении Microsoft сфокусировались на нескольких направлениях: производительность, оптимизация. . .
Отложенное высвобождение, RCU и Hazard Pointer в C++26
NullReferenced 09.03.2025
Многопоточное программирование стало важной частью современной разработки. Когда несколько потоков одновременно работают с общими данными, возникает целый ряд проблем, связанных с синхронизацией и. . .
Неблокирующийся стек на C++26
NullReferenced 09.03.2025
Традиционные способы синхронизации в многопоточном программировании — мьютексы, семафоры, условные переменные — часто превращаются в узкое место в плане производительности. При этом неблокирующиеся. . .
Обработка строк в C++26: Новые возможности string и string_view
NullReferenced 09.03.2025
Новый стандарт C++26 предлагает много улучшений для работы с привычными string и относительно новыми string_view. string_view - это невладеющая ссылка на последовательность символов, появившаяся в. . .
Мой первый аддон для Blender 3D, с помощью нейронки (не зная даже азов пайтона, но это не значит что так и с остальным).
Hrethgir 09.03.2025
Потратил весь день. Пол-дня мне хватило, чтобы понять что с версией с 14B мне не одолеть написание функционального кода, на языке с которым я вообще никак не знаком - пайтон. Версия 22B от другого. . .
Einstein@Home сегодня исполняется двадцать лет!
Programma_Boinc 09.03.2025
Einstein@Home сегодня исполняется двадцать лет! Отправлено 19 февраля 2025 года в 17:20:21 UTC Я хочу поздравить всех наших волонтеров, разработчиков и ученых из Einstein@Home. Мы официально. . .
Заполнители и расширенный набор символов в C++26
NullReferenced 09.03.2025
C++26 представляет два важных обновления: заполнители и расширенный набор символов. Заполнители (placeholders) решают давнюю проблему лаконичности кода в шаблонных выражениях и лямбда-функциях. Они. . .
Контракты в C++26
NullReferenced 09.03.2025
Контракты – это механизм, позволяющий указывать предусловия, постусловия и инварианты для функций в коде. Эта функциональность должна была стать частью C++20, но была исключена на встрече комитета. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru