В
Все
М
Математика
А
Английский язык
Х
Химия
Э
Экономика
П
Право
И
Информатика
У
Українська мова
Қ
Қазақ тiлi
О
ОБЖ
Н
Немецкий язык
Б
Беларуская мова
У
Українська література
М
Музыка
П
Психология
А
Алгебра
Л
Литература
Б
Биология
М
МХК
О
Окружающий мир
О
Обществознание
И
История
Г
Геометрия
Ф
Французский язык
Ф
Физика
Д
Другие предметы
Р
Русский язык
Г
География
nikitos22813371
nikitos22813371
08.09.2021 15:52 •  Информатика

пмоготи решить по информатике на паскале.
в кругу стоят 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.

Показать ответ
Ответ:
1337zezar1
1337zezar1
08.10.2020 10:06

конкретно в каких стейтментах была ошибка , я не смог разобраться , но фактически у тебя

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.

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота