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.
Answers & Comments
//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