profile
Размещено 5 лет назад по предмету Информатика от olgaотличница

Написать программу на языке Pascal
Палиндромом называется строка, которая одинаково читается как слева направо, так и
справа налево. Рассмотрим все натуральные числа, запись которых в десятичной системе
счисления является палиндромом (при этом запись не начинается с нуля). Например, числа
121 и 1331 являются палиндромами, а число 123 — нет. По данному числу N найдите N-e в
порядке возрастания число-палиндром.
Программа получает на вход одно натуральное число N, не превосходящее 100 000.
Программа должна вывести одно натуральное число — N-е в порядке возрастания
число-палиндром.
Пример входных и выходных данных
Ввод 20
Вывод 111

  1. Ответ на вопрос
    Ответ на вопрос дан igor9997799
    var
      s: string;
      n,m: integer;

     begin
      readln(n);
      if (n <= 9) then write(n)
      else if (n <= 9 + 9) then
         begin
           s := inttostr(n - 9);
          write(s + s);
         end
      else if (n <= 9 + 9 + 90) then
         begin
           s := inttostr(n - 9 -9 + 10 -1);
           m:=s.Length-1;
           write(s + s[m:0:-1]);
         end
      else if (n <= 9 + 9 + 90 + 90) then
         begin
           s := inttostr(n - 9 - 9 + 90 + 10 - 1);
           write(s + s[::-1]);
         end
      else if (n <= 9 + 9 + 90 + 90 + 900) then
         begin
           s := inttostr(n - 9 - 9 - 90 - 90 + 100 - 1);
           m:=s.Length-1;
    write(s + s[m:0:-1]);
         end
      else if (n <= 9 + 9 + 90 + 90 + 900 + 900) then
         begin
           s := inttostr(n - 9 - 9 - 90 - 90 - 900 + 100 - 1);
           write(s + s[::-1]);
         end
      else if (n <= 9 + 9 + 90 + 90 + 900 + 900 + 9000) then
         begin
           s := inttostr(n - 9 - 9 - 90 - 90 - 900 - 900 + 1000 - 1);
           m:=s.Length-1;
           write(s + s[m:0:-1]);
         end
      else if (n <= 9 + 9 + 90 + 90 + 900 + 900 + 9000 + 9000) then
         begin
           s := inttostr(n - 9 - 9 - 90 - 90 - 900 - 900 - 9000 + 1000 - 1 );
           write(s + s[::-1]);
         end
      else
         begin
           s := inttostr(n - 9 - 9 - 90 - 90 - 900 - 900 - 9000 - 9000 + 10000 - 1);
           m:=s.Length-1;
           write(s + s[m:0:-1]);
         end
    end.
Не тот ответ на вопрос, который вам нужен?
Найди верный ответ
Самые новые вопросы
tegysigalpa2012
Русский язык - 5 лет назад

Помогите решить тест по русскому языку тест по русскому языку «местоимение. разряды местоимений» для 6 класса 1. укажите личное местоимение: 1) некто 2) вас 3) ни с кем 4) собой 2. укажите относительное местоимение: 1) кто-либо 2) некоторый 3) кто 4) нам 3. укажите вопросительное местоимение: 1) кем-нибудь 2) кем 3) себе 4) никакой 4. укажите определительное местоимение: 1) наш 2) который 3) некий 4) каждый 5. укажите возвратное местоимение: 1) свой 2) чей 3) сам 4) себя 6. найдите указательное местоимение: 1) твой 2) какой 3) тот 4) их 7. найдите притяжательное местоимение: 1) самый 2) моего 3) иной 4) ничей 8. укажите неопределённое местоимение: 1) весь 2) какой-нибудь 3) любой 4) этот 9. укажите вопросительное местоимение: 1) сколько 2) кое-что 3) она 4) нами 10. в каком варианте ответа выделенное слово является притяжательным местоимением? 1) увидел их 2) её нет дома 3) её тетрадь 4) их не спросили

Информация

Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.