3. укажите набольшее и наименьшее пятизначное число x, при вводе которого алгоритм печатает сначала 3, а потом 4. var x, y, a, b: longint; begin a : = 0; b : = 0; readln(x); while x > 0 do begin y : = x mod 10; if y > 2 then a : = a + 1; if y < 8 then b : = b + 1; x : = x div 10 end; writeln(a); writeln(b) end.
//PascalABC.NET
//Версия 3.3, сборка 1611 (06.01.2018)
var x, y, a, b: longint;
begin
var ax:=new List<integer>;
for var i:=10000 to 99999 do begin
x:=i;
while x > 0 do begin
y := x mod 10;
if y >2 then a := a + 1;
if y < 8 then b := b + 1;
x := x div 10;
end;
If (a=3) and (b=4) then begin ax.add(i); end;
a:=0; b:=0;
end;
Println('Минимальное x->',ax.min); Println('Максимальное x->',ax.max);
end.
Результат:
Минимальное x-> 10338
Максимальное x-> 97722