Найти сумму цифр в чётных числах заданного списка - Pascal
Формулировка задачи:
Всем привет. Есть задача которую не могу решить.
Нужно найти сумму цифр чётных чисел. Пример - 20 , 44, 15. Сумма = 10.
Очень надо. Кто знает, помогите.
Решение задачи: «Найти сумму цифр в чётных числах заданного списка»
s:=0; for i:=1 to n do if a[i] mod 2=0 then begin s1:=0; x:=a[i]; while abs(x)>0 do begin s1:=s1+x mod 10; x:=x div 10; end; s:=s+s1; end;
Объяснение кода листинга программы
В данном коде переменной s инициализируется значение 0. Затем происходит цикл for, который выполняется от 1 до n, где n - количество элементов в списке a. Внутри цикла проверяется, является ли текущий элемент списка a[i] четным числом (остаток от деления на 2 равен 0). Если это так, то инициализируется переменная s1 со значением 0, а также переменная x со значением текущего четного числа из списка a. Затем происходит цикл while, который выполняется до тех пор, пока остаток от деления x на 10 не станет равным 0. Внутри цикла значение x делится на 10, а результат x mod 10 добавляется к переменной s1. После окончания цикла while значение переменной s1 добавляется к переменной s. В итоге значение переменной s будет содержать сумму цифр всех четных чисел из списка a.