"Переворот" числа | Язык Паскаль
Pascal. Основы программирования Сложные Средние Простые задачи

"Переворот" числа

Вводится число. Преобразовать его в другое число, цифры которого будут следовать в обратном порядке по сравнению с введенным числом.

Введем переменные:

  • n, m - исходное число и "перевернутое";
  • a - временное хранение очередной цифры, которая "переносится" из одного числа в другое.

Алгоритм решения задачи сводится к следующему циклу: 1) взять последнюю цифру в первом числе; 2) записать ее в конец второго; 3) убрать последнюю цифру из первого числа. Таким образом последняя цифра первого числа окажется первой цифрой во втором; предпоследняя цифра первого числа - второй во втором числе и так далее

  1. Находим остаток (mod) от деления числа n на 10. Результат сохраняем в переменной a.
  2. На каждом шаге разрядность m надо увеличивать на единицу, то есть умножать на 10. Например, если было число 56, то, умножив его на 10, получим 560. Далее следует прибавить остаток из переменной a, например, 3. В итоге получим 563. Получаем формулу: m = m * 10 + a.
  3. Делим n нацело на 10, тем самым избавляемся от младшего разряда.

Программа на языке Паскаль:

var
    n, m: longint;
    a: byte;

begin
    readln(n);

    m := 0;

    while n > 0 do begin
        a := n mod 10;
        m := m * 10 + a;
        n := n div 10;
    end;

    writeln(m);

end.

Пример выполнения программы:

40013
31004