Var i, n:integer; b:array[1..3] of integer;begin write('Type integer: '); readln(n); if n<0 then n:=-n; // уничтожение знака числа repeat i:= i + 1; b[i] := (n mod 10); // вывод последней цифры числа n:= n div 10; // удаление последней цифры числа until n=0; if b[3] > b[2] thenwriteln('Цифра сотен больше десятков ',b[3] - b[2])elsewriteln('Цифра сотен меньше десятков ',b[2] - b[3]);if b[2] > b[1] thenwriteln('Цифра десятков больше единиц ',b[2] - b[1])elsewriteln('Цифра десятков меньше единиц ',b[1] - b[2]);end.
Procedure GetAB(x: integer; var a: integer; var b: integer); begin a := 0; b := 1; while x > 0 do begin a := a + 1; b := b * (x mod 100); x := x div 100; end; end;
var x, a, b: integer;
begin for x := 10000 to 2000000000 do begin GetAB(x, a, b); if (a = 3) and (b = 18) then Println(a, b, x); end; end.