Дано 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 1...

Дано 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. Надеюсь, кто-нибудь сможет помочь. И, да, мне нужна помощь исключительно в улучшении программы, а не написания новой.
Гость
Ответ(ы) на вопрос:
Гость
Ошибка в строке p:=p*m mod 10; При подсчете произведения Приоритетность операций должно быть  p:=p* (m mod 10); скобки
Не нашли ответ?
Ответить на вопрос
Похожие вопросы