Предмет: Информатика, автор: Натка3

Дано N. Найти произведение четных чисел этого числа. Решить с помощью паскаля.

Ребят, у меня вышла такая программа:

Program Pr1;
var n,p,m:integer;
begin
write('n=');
readln(n);
m:=n;
p:=1;
while m>0 do
begin
if (m mod 10) mod 2=0 then
p:=p*m mod 10;
m:=m div 10;
end;
writeln('В числе ',n,' произведение четных цифр = ',p);
end.

И в ответе, если произведение превышает число 9, выводится его последняя цифра.
Например: n=881
В числе 881 произведение четных цифр = 4

А на самом деле выходит 8*8=64.

Надеюсь, кто-нибудь сможет помочь.
И, да, мне нужна помощь исключительно в улучшении программы, а не написания новой.

Ответы

Автор ответа: cccc1808
3
Ошибка в строке
p:=p*m mod 10;
При подсчете произведения
Приоритетность операций

должно быть 
p:=p* (m mod 10);
скобки

Натка3: Спасибо, получилось. А я уже боялась, что именно в программе налажала. Теперь душа спокойна))
Похожие вопросы
Предмет: Русский язык, автор: химик118
Предмет: Математика, автор: gogol1589