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

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

07.03.2021, 08:25. Показов 2687. Ответов 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
38180 / 21115 / 4307
Регистрация: 12.02.2012
Сообщений: 34,722
Записей в блоге: 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
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru