Напишите программу,которая считает сумму цифр введенного числа (паскаль)
Programи fr;
var a, sum: integer;
Begin
Writeln ('Введите число');
Readln (a);
while a<>0 do
begin
sum:=sum+(a mod 10);
a:=a div 10;
end;
Writeln ('Сумма цифр ',sum);
end.
Почему используется вот такая запись ( что это значит ) - sum:=sum+(a mod 10) ???
Можно ли написать эту программу как то через другой цикл? ( если да,то напишите его)
Заранее СПАСИБО

2 Сен 2019 в 16:41
2 613 +2
0
Ответы
1

sum:=sum+(a mod 10) - в данной записи используется оператор mod, который возвращает остаток от деления a на 10. Таким образом, a mod 10 дает нам последнюю цифру числа a. Далее мы прибавляем эту цифру к сумме.

Можно переписать эту программу с использованием цикла for:

Program SumOfDigits;
var
a, sum, digit: integer;
begin
sum := 0;
Writeln('Введите число');
Readln(a);
for digit := a to a do
begin
sum := sum + (digit mod 10);
digit := digit div 10;
if digit = 0 then
break;
end;
Writeln('Сумма цифр ', sum);
end.
20 Апр 2024 в 05:18
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир