
Объяснение:
Пусть n – само число, suma – сумма его цифр, а mult – произведение. Тогда алгоритм нахождения суммы и произведения цифр можно словесно описать так:
1)Переменной suma присвоить ноль.
2)Переменной mult присвоить единицу. Присваивать 0 нельзя, так как при умножении на ноль результат будет нулевым.
3)Пока переменная n больше нуля повторять следующие действия:
4)Найти остаток от деления n на 10, то есть извлечь последнюю цифру числа.
4)Добавить извлеченную цифру к сумме и увеличить на эту цифру произведение.
6)Избавиться от последнего разряда числа n путем деления нацело на 10.
Попробуй:
var
a, chet, nechet : integer;
begin
write('введите число: ');
readln(a);
while a > 0 do begin
if (a mod 10) mod 2 = 0then chet += 1 else nechet += 1;
a := a div 10;
end;
writeln('четных: ', chet);
writeln('не четных: ', nechet);
end.
программа считает 0 как четное число. Если нужно что бы 0 не учитывался при подсчете то необходимо строку:
if (a mod 10) mod 2 = 0then chet += 1 else nechet += 1;
заменить на:
if a mod 10 <> 0 then if (a mod 10) mod 2 = 0then chet += 1 else nechet += 1;