Дан алгоритм для Робота: алг нач нц 10 раз вправо; закрасить кц кон 1)Если правее Робота не встретится препятствий, то, выполнив приведённый выше алгоритм, он переместится на 10 клеток вправо. 2)Если правее Робота не встретится препятствий, то, выполнив приведённый выше алгоритм, он переместится на 10 клеток вправо и закрасит эти клетки. 3)Если левее Робота не встретится препятствий, то, выполнив приведённый выше алгоритм, он переместится на 10 клеток влево и закрасит эти клетки. 4)Если правее Робота не встретится препятствий, то, выполнив приведённый выше алгоритм, он переместится на n клеток вправо и закрасит эти клетки.
Задачки такого типа не имеют однозначного решения, можно предложить нескольео вариантов и все они будут правильные. Слишком мало членов дано.
Вот мои версии.
а. 1; 3; 6; 4; 11; 5; 16; 6 (на нечётных местах всё время +5, на чётных +1)
б. 9; 7; 10; 4; 11; 1; 12; -2; ... (на нечётных +1, на чётных -3)
в. 3; 2; 1; 6; 5; 4; 9; 8; 7; 12; 11; 10... (тройки n;n-1;n-2; первое число тройки - последовательные числа, кратные 3)
Могу предложить ещё несколько ДРУГИХ вариантов продолжения последовательностей и все они, повторюсь, будут ПРАВИЛЬНЫМИ.
Одно только замечание: ВСЕГДА нужно указывать алгоритм или формулу, по которой последовательность строится(продолжается).
const
n = 10;
var
a:array[1..n] of integer;
i, j:integer;
begin
randomize;
writeln('Исходный массив:');
for i := 1 to n do
begin
a[i] := random(101);
write(a[i], ' ');
end;
for i := 1 to n - 1 do
for j := 1 to n - i do
if a[j] mod 10 > a[j + 1] mod 10 then
begin
a[j] := a[j] + a[j + 1];
a[j + 1] := a[j] - a[j + 1];
a[j] := a[j] - a[j + 1];
end;
writeln;
writeln('Результат:');
for i := 1 to n do
write(a[i], ' ');
writeln;
end.