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

Найти ближайший палиндром

07.03.2021, 08:25. Показов 2677. Ответов 2
Метки с++ (Все метки)

Студворк — интернет-сервис помощи студентам
Студент Алихан обожает математику. Самые любимые его числа - это палиндромы. Когда Алихан видит число, которое не является палиндромом, он расстраивается. Чтобы поднять настроение Алихану, вы можете найти такое число, которое будет больше изначального и при этом палиндромом. Найденное число должно быть наиближайшим палиндромом. Если Алихан сразу видит палиндром, он уже счастлив. Помогите нам сделать Алихана счастливым.

Палиндром - это число, которое читается слева направо и справа налево одинаково.

Input Format

Вводится одно целое натуральное число N.

Constraints

N состоит не более, чем из 100 000 цифр.

Output Format

Выведите одно число - ответ на задачу.

Sample Input 0

1221
Sample Output 0

1221
Sample Input 1

1234
Sample Output 1

1331
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
07.03.2021, 08:25
Ответы с готовыми решениями:

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

Найти узел, имеющий ближайший к значению ключ
Всем привет. Есть условие. первая часть уже решена. помогите пожалуйста найти узел, имеющий ближайший к этому значению ключ. ...

Найти элемент двухмерного массива, ближайший к числу
Помогите подправить программу: Найти элемент двухмерного массива, ближайший к числу -2, и его индексы. двухмерный массив целых чисел...

2
0 / 0 / 0
Регистрация: 27.12.2020
Сообщений: 1
07.03.2021, 09:26
Еще не нашел решение?
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38167 / 21102 / 4307
Регистрация: 12.02.2012
Сообщений: 34,690
Записей в блоге: 14
07.03.2021, 12:32
Как вариант (на строках):

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
#include <iostream>
#include <string>
using namespace std;
 
string nearest_pal(string n)
{
    string s=n;
    string one("1");
    int l=s.size();
    int i_l,i_r,k1,k2;
    char c_l,c_r,c;
    i_l=0;
    i_r=l-1;
    while(i_l<i_r)
    {
        c_l=s[i_l];
        c_r=s[i_r];
        
        if (c_l != c_r)
        {
            if (c_l<c_r)
            {
                s[i_l]=c_l;
                s[i_r]=c_l;
            }
            else
            {
                s[i_r]=s[i_l];
            }
        }
        
        i_l++;
        i_r--;
        
    }
    
    if (s>n) return s;
 
    if (l%2==0)
    {
        k1=l/2;
        k2=k1-1;
        while(1)
        {
            if (s[k1]<'9')
            {
                s[k1]=s[k1]+1;
                s[k2]=s[k1];
                return s;
            }
            s[k1]=s[k2]='0';
            k1++;
            k2--;
            if (k2<0) return "1"+string(l-1,'0')+"1";
        }
    }
    else
    {
        k1=l/2;
        if (s[k1]<'9')
        {
            s[k1]=s[k1]+1;
            return s;
        }
        s[k1]='0';
        k1++;
        k2=k1-2;
        while(1)
        {
            if (s[k1]<'9')
            {
                s[k1]=s[k1]+1;
                s[k2]=s[k1];
                return s;
            }
            s[k1]=s[k2]='0';
            k1++;
            k2--;
            if (k2<0) return "1"+string(l-1,'0')+"1";
        }
    }
 
}
int main()
{
    string s;
    cout << "n=";
    cin >> s;
    s=nearest_pal(s);
    cout << s;
 
    return 0;
}
При желании, код можно подсократить
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
07.03.2021, 12:32
Помогаю со студенческими работами здесь

Найти элемент последовательности ближайший к заданному числу
Есть задача, не понимаю что как делать Дана последовательность вещественных чисел a1,a2, ... , a15 упорядоченная по возрастанию, и...

В бинарном дереве найти ближайший путь к заданному узлу
В заданном непустом бинарном дереве найти длину (число ветвей) пути от корня до ближайшей вершины со значением, равным заданному....

Найти в массиве ближайший по значению элемент меньший заданного числа
Добрый день, господа. Помогите пожалуйста с решением задачи. Дано некоторое число А. Найти в целочисленном массиве В из N элементов...

Найти элемент последовательности (его порядковый номер и значение), ближайший к n
я не прошу код(но не откажусь). Хотя бы с чего мне начать подскажите задача: Дана последовательность вещественных чисел а1,а2, ..а15,...

Найти ближайший текст
Здравствуйте! Никак не получается пройти текст назад до ближайшей фразы. Знаю, что по символу можно найти с помощью функции strrchr....


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит: токи, напряжения и их 1 и 2 производные при t = 0;. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru