Какое из двух введенных чисел А и В имеет меньшую сумму цифр - PascalABC.NET
Формулировка задачи:
Какое из двух введенных чисел А и В имеет меньшую сумму цифр, через подпрограммы-процедуры
Решение задачи: «Какое из двух введенных чисел А и В имеет меньшую сумму цифр»
textual
Листинг программы
- procedure dsum(x: integer; var s: integer);
- begin
- s := 0;
- x := abs(x);
- repeat
- s := s + x mod 10;
- x := x div 10
- until x = 0
- end;
- var a, b, sa, sb: integer;
- begin
- a := ReadLnInteger('A = ');
- b := ReadLnInteger('B = ');
- dsum(a, sa);
- dsum(b, sb);
- if sa < sb
- then writeln('Число A имеет меньшую сумму цифр.')
- else if sa > sb
- then writeln('Число B имеет меньшую сумму цифр.')
- else writeln('Суммы цифр чисел A и B одинаковы.');
- readln
- end.
Объяснение кода листинга программы
- Введенные числа А и В считываются в переменные a и b соответственно.
- Далее, для каждого числа выполняется функция dsum, которая суммирует все цифры числа.
- Функция dsum работает следующим образом:
- Переменная s инициализируется значением 0, которая будет хранить сумму цифр числа.
- Число x берется абсолютным, чтобы учесть и отрицательные числа.
- Затем, в цикле while, происходит поочередное начисление суммы цифр числа.
- В каждой итерации цикла, остаток от деления числа x на 10 (что дает последнюю цифру числа) добавляется к переменной s.
- Затем, число x делится на 10, чтобы убрать последнюю цифру и перейти к следующей.
- Цикл продолжается, пока число x не станет равным 0.
- После выполнения функций dsum для чисел А и В, проверяется, какая из сумм цифр меньше.
- Если сумма цифр числа А меньше, то выводится сообщение
Число A имеет меньшую сумму цифр.
- Если сумма цифр числа А больше, то выводится сообщение
Число B имеет меньшую сумму цифр.
- Если суммы цифр чисел А и В равны, то выводится сообщение
Суммы цифр чисел A и B одинаковы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д