• C++ или Паскаль
     решите пожалуйстаааа

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

    Формат входного файла

    В единственной строке входного файла содержится одно натуральное число N. N не содержит
    лидирующих нулей и состоит из не более чем 106 цифр.

    Формат выходного файла

    Выведите одно целое число – наименьший палиндром, который строго больше N.
    например 365 - 373

Ответы 1

  • //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
    • Автор:

      kaylee
    • 6 лет назад
    • 0
  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years