Міркуючи логічно, ви можете включити одну лампу, другу вимкнути, а ось що робити з третьої - незрозуміло. Станів лампи всього два: або «включена», або «вимкнена». Найпопулярніший б вирішення полягає в тому, щоб в якості третьої стану додати поділ ламп на «теплі» і «холодні». Потрібно почекати якийсь час, щоб лампи охололи на випадок, якщо вони недавно включалися. Потім включити одну для нагрівання. Вимкнути її назад і включити будь-яку іншу. Зайшовши після цього в кімнату одна лампа буде горіти, друга виключена і холодна, третя виключена і гаряча. Інший варіант додати лампам стан «перегоріла», якщо є можливість подати на перемикач більшу напругу, ніж потрібно. Дальше действовать аналогічно попередньої схеми.
конкретно в каких стейтментах была ошибка , я не смог разобраться , но фактически у тебя
1.был не правильный вывод (m[1])
2.неправильная итерация по циклу с переменной 'с'
крч легче было просто переделать
var
c, n, i, j: integer;
m: array[1..1000] of integer;
begin
Readln(n);
for i := 1 to n do
begin
m[i] := i;
Write(m[i], ' ');
end;
writeln;
while n >= 1 do
begin
if c+2 < n then c := c + 3 else c := n - c + 3;
for i:=c to n do m[c]:=m[c+1];
n := n - 1;
end;
writeln(m[c]);
end.
Відповідь:
Міркуючи логічно, ви можете включити одну лампу, другу вимкнути, а ось що робити з третьої - незрозуміло. Станів лампи всього два: або «включена», або «вимкнена». Найпопулярніший б вирішення полягає в тому, щоб в якості третьої стану додати поділ ламп на «теплі» і «холодні». Потрібно почекати якийсь час, щоб лампи охололи на випадок, якщо вони недавно включалися. Потім включити одну для нагрівання. Вимкнути її назад і включити будь-яку іншу. Зайшовши після цього в кімнату одна лампа буде горіти, друга виключена і холодна, третя виключена і гаряча. Інший варіант додати лампам стан «перегоріла», якщо є можливість подати на перемикач більшу напругу, ніж потрібно. Дальше действовать аналогічно попередньої схеми.
Пояснення: