Предмет: Информатика,
автор: kiramasiv
СРОЧНО!!!!!!!!!
Пмоготи решить задачу по информатике на Паскале.
В кругу стоят n-ое количество ребят, которые считаются считалочкой. Каждый 3 человек выбывает. Кто отсался.
Пример
Водиться:
11
1 2 3 4 5 6 7 8 9 10 11
выводиться:
7
Что неправильно в коде?
Var
a,b,c,x,y,k,n,i,j:integer;
m:array[1..1000] of integer;
Begin
Readln(n);
For i:=1 to n do
m[i]:=i;
For i:=1 to n do
Write(m[i],' ');
writeln;
i:=1;
c:=0;
While i<=n do
begin
c:=c+1;
If c=3 then begin
For j:=i to n do
m[j]:=m[j+1];
c:=0;
n:=n-1;
If (i=n) and (n>1) then
i:=1;
end
else
If (i=n) and (i>1) then
i:=1
else
i:=i+1;
end;
writeln(m[1]);
end.
Ответы
Автор ответа:
1
конкретно в каких стейтментах была ошибка , я не смог разобраться , но фактически у тебя
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.
kiramasiv:
Спасибо, но я ее уже сама решила
Похожие вопросы
Предмет: Математика,
автор: adilzhannabi467
Предмет: Математика,
автор: olya040503olya
Предмет: История,
автор: tanyaaa39
Предмет: Информатика,
автор: treskova2000
Предмет: Математика,
автор: олег514