Найти сумму четных цифр числа на нечетных местах - Pascal ABC
Формулировка задачи:
Найти сумму четных цифр числа на нечетных местах.
помогите пожалуйста
Решение задачи: «Найти сумму четных цифр числа на нечетных местах»
textual
Листинг программы
var n,m,k,i,s:integer;
begin
write('Введите натуральное число n=');
readln(n);
//узнаем сколько цифр в числе
m:=n;
k:=0;
while m>0 do
begin
k:=k+1;
m:=m div 10;
end;
s:=0;
for i:=1 to k do
begin
if(n mod 10 mod 2=0)and((i+k)mod 2=0) then s:=s+n mod 10;
n:=n div 10;
end;
write('Сумма четных цифр на нечетных местах=',s);
end.
Объяснение кода листинга программы
- Создается переменная n типа integer, в которую считывается введенное пользователем натуральное число.
- Создается переменная m типа integer, которая инициализируется значением n.
- Создается переменная k типа integer, которая инициализируется значением 0.
- Запускается цикл while, который продолжается до тех пор, пока m не станет равным нулю.
- В цикле значение переменной m делим на 10, сохраняя результат в переменной m, и увеличиваем значение переменной k на 1.
- После выхода из цикла while, создается переменная s типа integer и инициализируется значением 0.
- Создается цикл for, который выполняется от 1 до k.
- В цикле проверяется условие: если остаток от деления n на 10 равен 0 и (i+k) равно 2 (т.е. i и k четные), то к переменной s прибавляется n, деленный на 10.
- После выхода из цикла for, значение переменной n делится на 10.
- Выводится сообщение с результатом, содержащее сумму четных цифр на нечетных местах.