Задано трехзначное число. Найти разность (по абсолютной величине) между этим числом и числом, записанным теми же цифрами в обратном порядке.
Математическая формулировка задачи:
Чтобы получить число, записанным теми же цифрами в обратном порядке, нужно разбить исходное число на разряды, то есть получить цифры числа, а затем собрать число в обратном порядке, умножив каждую цифру на 100, 10, 1, и результаты сложив.
Пусть имеется некоторое трехзначное число х. Разложим его в виде суммы разрядных слагаемых:
Х=100*a+10*b+c где a, b, c цифры исходного числа х.
Тогда число, записанное теми же цифрами в обратном порядке, будет:
Y=100*c+10*b+a
Цифры трехзначного числа можно получить по формулам:
a=X div 100
b=(X-a*100) div 10
c= X-a*100-b*10
Таким образом, решение задачи может быть представлено следующими этапами:
- Ввод исходного трехзначного числа
- Получение его цифр по формулам
- Получение числа записанного теми же цифрами в обратном порядке
- Вывод результата (модуля разности между исходным числом и числом, записанным теми же цифрами в обратном порядке).
Алгоритм решения задачи 2: Текст программы к задаче 2:
Program Ex_2;
Uses Crt;
Var
X: integer; { трехзначное число }
a, b, c: integer; { цифры числа }
Y: integer; { число в обратном порядке}
R: integer; { модуль разности }
Begin
ClrScr;
Writeln(‘Ведите трехзначное число ’);
Readln(x);
a:=X div 100;
b:=(X-a*100) div 10;
c:=X-a*100-b*10;
Y:=100*c+10*b+a;
R:=Abs(X-Y);
Writeln(‘Число в обратном порядке ’, );
Writeln(‘Модуль разности ’, R);
Readln;
End.