Написать Программу по PASCAL вычислить произведение нечетных цифр трехзначного числа. Если нет в цифре нет нечетных то ответ выводиться- 0
ПРОШУ БЫСТРЕЕ ДАЮ МНОГО БАЛЛОВ
Ответы
Ответ:
var a,b,c,d,s: integer;
begin
s:=0;
writeln('введите число');
readln(a);
b:=a div 100;
c:=(a div 10) mod 10;
d:=a mod 10;
if b mod 2 =1 then s:=b;
if c mod 2 =1 then s:=s*c;
if d mod 2=1 then s:=s*d;
writeln(s);
end.
Ответ:
var a,p: integer;
begin
p:=1;
write('Введите число: ');
readln(a);
if (a div 100 mod 2 = 0) and (a div 10 mod 10 mod 2 = 0) and (a mod 10 mod 2 = 0) then p:=0
else
begin
if a div 100 mod 2 <> 0 then p:=p*a div 100;
if a div 10 mod 10 mod 2 <> 0 then p:=p*(a div 10 mod 10);
if a mod 10 mod 2 <> 0 then p:=p*a mod 10
end;
writeln('Произведение нечетных цифр равно: ',p);
end.
Объяснение:
Первая цифра: a div 100
Вторая цифра: a div 10 mod 10
Третья цифра: a mod 10
div - целочисленное деление
mod - остаток от целочисленного деления
if (a div 100 mod 2 = 0) and (a div 10 mod 10 mod 2 = 0) and (a mod 10 mod 2 = 0) then p:=0 //если все цифры четные, то произведение нечетных цифр равно 0
else //иначе
begin
if a div 100 mod 2 <> 0 then p:=p*a div 100;
if a div 10 mod 10 mod 2 <> 0 then p:=p*(a div 10 mod 10);
if a mod 10 mod 2 <> 0 then p:=p*a mod 10
//если цифра нечетная, то умножаем
end;
Проверки на трехзначность числа нет