
C++ или Паскаль решите пожалуйстаааа Натуральное число называется если читается слева направо и
справа налево одинаково. Вам дано одно натуральное число N, которое состоит из не более чем 106 цифр. Найдите наименьший палиндром, который строго больше N. Формат входного файла В единственной строке входного файла содержится одно натуральное число N. N не содержит лидирующих нулей и состоит из не более чем 106 цифр. Формат выходного файла Выведите одно целое число – наименьший палиндром, который строго больше N.например 365 - 373

Ответы на вопрос

//Dev-C++ 5.11
#include <iostream>
#include <string>
using namespace std;
void plus1(char*,int*);
int main(void)
{string n;
char poli[108];
int kar=0,buf,add=0;
cin>>n;
for(int i=0;i<n.length()/2+n.length()%2;i++)
{poli[kar]=n[i];
kar++;}
buf=kar;
plus1(poli,&kar);
if(buf!=kar)
{add++;
buf=kar;}
if((n.length()+add)%2!=0)
for(int i=buf-2;i>=0;i--)
{poli[kar]=poli[i];
kar++;}
else
for(int i=buf-1;i>=0;i--)
{poli[kar]=poli[i];
kar++;}
for(int i=0;i<kar;i++)
cout<<poli[i];
return 0;}
void plus1(char slogaem[],int* len)
{int add=1;
for(int i=*len-1;i>=0;i--)
if(slogaem[i]=='9' && add==1)
{add=1;
slogaem[i]='0';}
else
{slogaem[i]+=add;
add=0;}
if(slogaem[0]=='0' && add==1)
{for(int i=*len;i>0;i--)
slogaem[i]=slogaem[i-1];
slogaem[0]='1';
*len+=1;}}
Пример ввода:
93439
Пример вывода:
93539


Топ вопросов за вчера в категории Информатика








Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili