Предмет: Информатика,
автор: daryayashugina
Сформируйте целочисленный массив, элементами которого являются двузначные числа, в которых левая цифра меньше правой. Напишите эффективную программу для решения этой задачи.
Ответы
Автор ответа:
0
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.
Пример:
89 67 19 69 49 67 45 26 79 69 67 79 78 16 38 69 35 57 79 46
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
Автор ответа:
0
// 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.
Тестовое решение:
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
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
Похожие вопросы
Предмет: Английский язык,
автор: ulbolsyn2010
Предмет: Математика,
автор: alkeikrutoi2009
Предмет: География,
автор: kristinamolitva66
Предмет: Химия,
автор: Аноним
Предмет: Химия,
автор: Popeye