
Паскаль. С клавиатуры вводится натуральное число X. Требуется получить число Y, в котором записаны
цифры числа X в обратном порядке. Например, X=123 Y=321. Примечание. Решите задачу с помощью рекурсивной процедуры. 50 БАЛЛЛЛОВВВВ

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

procedure revX(X: longint; var Y: longint);
begin
if X <> 0 then
begin
Y := Y * 10 + (X mod 10);
revX(X div 10, Y);
end;
end;
begin
write('Введите X = ');
readln(X);
revX(X, Y);
writeln(Y);
end.



// Внимание! Если программа не работает, обновите версию!
procedure Rvr(var n,nr:BigInteger);
begin
if n<>0 then begin
nr:=nr*10+ n mod 10;
n:=n div 10;
Rvr(n,nr)
end
end;
begin
var nr:=BigInteger(0);
var n:=ReadlnString('Введите натуральное число:').ToBigInteger;
Rvr(n,nr);
Writeln(nr)
end.
Пример
Введите натуральное число: 234536406567867348292735385468776123478182736
637281874321677864583537292843768765604635432



Для решения этой задачи с помощью рекурсивной процедуры воспользуемся языком программирования Pascal. Ниже приведен код рекурсивной процедуры, которая будет выполнять данную задачу:
```pascal program ReverseNumber;
var X, Y: integer;
function ReverseDigits(X: integer): integer; begin if X < 10 then ReverseDigits := X else ReverseDigits := (X mod 10) * Trunc(Power(10, Trunc(Log10(X)))) + ReverseDigits(X div 10); end;
begin write('Введите натуральное число X: '); readln(X); Y := ReverseDigits(X); writeln('Число Y, в котором записаны цифры числа X в обратном порядке: ', Y); end. ```
Этот код содержит рекурсивную процедуру `ReverseDigits`, которая принимает на вход натуральное число `X` и возвращает число `Y`, в котором записаны цифры числа `X` в обратном порядке. Рекурсивная часть процедуры выполняется в строке `ReverseDigits := (X mod 10) * Trunc(Power(10, Trunc(Log10(X)))) + ReverseDigits(X div 10);`, где происходит извлечение последней цифры числа `X` с помощью операции деления по модулю и рекурсивный вызов процедуры для оставшейся части числа `X`.
После ввода натурального числа `X` происходит вызов процедуры `ReverseDigits` и вывод результата в виде числа `Y`, в котором записаны цифры числа `X` в обратном порядке.
Таким образом, данный код позволяет решить задачу с помощью рекурсивной процедуры в языке программирования Pascal.


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