Сформируйте целочисленный массив, элементами которого являются двузначные числа, в которых левая цифра меньше правой. напишите эффективную программу для решения этой .
Const n=20; var a:array[1..n] of integer; b,c,i:integer; begin Randomize; for i:=1 to n do begin b:=random(8)+1; c:=random(9-b)+b+1; a[i]:=b*10+c; write(a[i]:4); end; writeln; end.
// PascalABC.NET 3.1, сборка 1179 от 29.02.2016 begin var n:=ReadInteger('n='); if n>36 then begin Writeln('Слишком много, максимум 72'); Exit end else begin var a:=new integer[n]; var k:=0; for var i:=1 to 8 do for var j:=i+1 to 9 do begin a[i]:=10*i+j; Write(a[i],' '); Inc(k); if k>n then Exit end end end.
var a:array[1..n] of integer;
b,c,i:integer;
begin
Randomize;
for i:=1 to n do
begin
b:=random(8)+1;
c:=random(9-b)+b+1;
a[i]:=b*10+c;
write(a[i]:4);
end;
writeln;
end.
Пример:
89 67 19 69 49 67 45 26 79 69 67 79 78 16 38 69 35 57 79 46
begin
var n:=ReadInteger('n=');
if n>36 then begin
Writeln('Слишком много, максимум 72');
Exit
end
else begin
var a:=new integer[n];
var k:=0;
for var i:=1 to 8 do
for var j:=i+1 to 9 do begin
a[i]:=10*i+j;
Write(a[i],' ');
Inc(k);
if k>n then Exit
end
end
end.
Тестовое решение:
n= 36
12 13 14 15 16 17 18 19 23 24 25 26 27 28 29 34 35 36 37 38 39 45 46 47 48 49 56 57 58 59 67 68 69 78 79 89