1)
Var i,a,b:longint;
Begin
read(a,b);
for i:=a to b do
if (i mod 3=0) then write(i,' ');
writeln;
End.
2)
Var i:longint;
Begin
for i:=10 to 99 do
if (abs(i mod 10 - i div 10)<=1) then write(i,' ');
writeln;
End.
3)
Var i,s,f,t:longint;
Begin
for i:=100 to 999 do
begin
f:=i div 100;
s:=i div 10 mod 10;
t:=i mod 10;
if (f=s) or (f=t) or (s=t) then write(i,' ');
end;
writeln;
End.
В кодировке Unicode каждый символ кодируется двумя байтами, поэтому строка займет 35×2 = 70 байт.
Тогда таких строк будет 1050 / 70 = 15
Добил её)
//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