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.выдает такие значения3 18 10118 3 18 10209 3 18 10306 3 18 10603 3 18 10902 3 18 11801 3 18 20109 3 18 20303 3 18 20901 3 18 30106 3 18 30203 3 18 30302 3 18 30601 3 18 60103 3 18 60301 3 18 90102 3 18 90201 3 18 180101 Выделенное наибольшее