(Пока я писал ход мыслей в решении задачи о камнях, вопрос удалили. Но, чтоб ответ не пропал, вставлю сюда - больше ведь некуда, личных сообщений на ответах не предусмотрено.)
В общем, я вижу так: камни укладываем в 2 ряда
N
N N N
где нам неизвестно число N. А всех камней будет 4N.
Если число всех клеток M, то в одном ряду их M/2.
3N <= M/2 (три эн меньше или равно эм, деленное на 2).
Для M=10 подходит только N=1, так как 2 - уже много.
Ну, а для M=100 сами поймете, что получится.
В итоге задача проста, как только ее представить в общем виде.
Десятичная - двоичная - восьмеричная - шестнадцатеричная:
11 - 1011 - 13 - B; 25 - 11001 - 31 - 19;36 - 100100 - 44 - 24;48 - 100000 - 60 - 30;51 - 110011 - 63 - 33;77 - 1001101 - 115 - 4D;89 - 1011001 - 131 - 59;101 - 1100101 - 145 - 65;208 - 11010000 - 320 - D0;333 - 101001101 - 515 - 14D;469 - 111010101 - 725 - 1D5;585 - 1001001001 - 1111 - 249;699 - 1010111011 - 1273 - 2BB;700 - 1010111100 - 1274 - 2BC;888 - 1101111000 - 1570 - 378;937 - 1110101001 - 1651 - 3A9;2018 - 11111100010 - 3742 - 7E2.
1)
var a: array [0..9] of integer;
i, o: integer;
begin
for i := 1 to 20 do
begin
if (i mod 4 = 0) then a[o] := i
else if (i mod 4 = 2) then a[o] := -1 * i;
if (i mod 4 mod 2 = 0) then o := o + 1;
end;
for i := 0 to 9 do
writeln(a[i]);
end.
2)
var a: array [0..30] of integer;
i, o: integer;
s: string;
begin
for i := 1 to 30 do
begin
a[i] := random(6) - 3;
end;
writeln('Массив:');
for i := 0 to 30 do
begin
writeln('[', i, '] => ', a[i]);
if (a[i] > 0) then
begin
o := o + a[i];
s := s + inttostr(i) + ' ';
end;
end;
writeln('Номера положительных чисел: ', s);
end.