Задать вопрос
5 сентября, 04:30

Написать программу на языке Pascal

Палиндромом называется строка, которая одинаково читается как слева направо, так и

справа налево. Рассмотрим все натуральные числа, запись которых в десятичной системе

счисления является палиндромом (при этом запись не начинается с нуля). Например, числа

121 и 1331 являются палиндромами, а число 123 - нет. По данному числу N найдите N-e в

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

Программа получает на вход одно натуральное число N, не превосходящее 100 000.

Программа должна вывести одно натуральное число - N-е в порядке возрастания

число-палиндром.

Пример входных и выходных данных

Ввод 20

Вывод 111

+1
Ответы (1)
  1. 5 сентября, 07:48
    0
    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.
Знаете ответ на вопрос?
Не уверены в ответе?
Правильный ответ на вопрос 👍 «Написать программу на языке Pascal Палиндромом называется строка, которая одинаково читается как слева направо, так и справа налево. ...» по предмету 📗 Информатика. Развернутая система поиска нашего сайта обязательно приведёт вас к нужной информации. Как вариант - оцените ответы на похожие вопросы. Но если вдруг и это не помогло - задавайте свой вопрос знающим оппонентам, которые быстро дадут на него ответ!
Искать готовые ответы