Нужно разложите число на цифры и вычислить соответствующие произведения, 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.
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota
Оформи подписку