Нужно разложите число на цифры и вычислить соответствующие произведения, flag: false; m1: = 1; m2: = 1; while N <> 0 do begin if flag then m1:= m1*(N mod 10) else m2:= m2*(N mod 10); flag:= not flag; N:= N div 10; end; if m1<>0 then Writeln(m2 div m1) else Writeln('Бесконечность');
Var i,n,x:integer; a:array[1..4]of integer; begin readln(n); for i:=4 downto 1 do begin x:=n mod 10; a[i]:=x; n:=(n-x) div 10; end; writeln('Произведение четных: ',a[2]*a[4]); writeln('Произведение нечетных: ',a[1]*a[3]); end.
Если можно использовать строковые функции, то будет проще: var i:integer; n:string; a:array[1..4]of integer; begin readln(n); for i:=1 to 4 do a[i]:=StrToInt(n[i]); writeln('Произведение четных: ',a[2]*a[4]); writeln('Произведение нечетных: ',a[1]*a[3]); end.
Нужно разложите число на цифры и вычислить соответствующие произведения,
flag: false; m1: = 1; m2: = 1;
while N <> 0 do begin
if flag then m1:= m1*(N mod 10) else m2:= m2*(N mod 10);
flag:= not flag;
N:= N div 10;
end;
if m1<>0 then Writeln(m2 div m1) else Writeln('Бесконечность');
Видела уже такой вопрос где-то года три назад.
i,n,x:integer;
a:array[1..4]of integer;
begin
readln(n);
for i:=4 downto 1 do
begin
x:=n mod 10;
a[i]:=x;
n:=(n-x) div 10;
end;
writeln('Произведение четных: ',a[2]*a[4]);
writeln('Произведение нечетных: ',a[1]*a[3]);
end.
Если можно использовать строковые функции, то будет проще:
var
i:integer;
n:string;
a:array[1..4]of integer;
begin
readln(n);
for i:=1 to 4 do a[i]:=StrToInt(n[i]);
writeln('Произведение четных: ',a[2]*a[4]);
writeln('Произведение нечетных: ',a[1]*a[3]);
end.