Задать вопрос
10 октября, 16:16

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

Надеюсь, кто-нибудь сможет помочь.

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

+5
Ответы (1)
  1. 10 октября, 19:33
    -1
    Ошибка в строке

    p:=p*m mod 10;

    При подсчете произведения

    Приоритетность операций

    должно быть

    p:=p * (m mod 10) ;

    скобки
Знаете ответ?
Сомневаетесь в ответе?
Найдите правильный ответ на вопрос ✅ «Дано N. Найти произведение четных чисел этого числа. Решить с помощью паскаля. Ребят, у меня вышла такая программа: Program Pr1; var n, p, ...» по предмету 📘 Информатика, а если вы сомневаетесь в правильности ответов или ответ отсутствует, то попробуйте воспользоваться умным поиском на сайте и найти ответы на похожие вопросы.
Смотреть другие ответы