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

Дана последовательность, состоящая из 10 чисел [7, 3, 10, 9, 8, 4, 1, 6, 2, 5]. вы умеете за один ход поменять в ней местами два любых соседних числа. за какое минимальное количество ходов вы сможете получить последовательность, в которой все числа идут по возрастанию?

Показать ответ
Ответ:
grxrtxdfdr
grxrtxdfdr
03.10.2020 11:14
Const
  a: array of integer = (7, 3, 10, 9, 8, 4, 1, 6, 2, 5);

begin
  var n := 0;
  var found := false;
  repeat
    found := false;
    for var i := low(a) to High(a) - 1 do
      if a[i] > a[i + 1] then begin
        swap(a[i], a[i + 1]);
        found := true;
        n := n + 1;
      end;
  until not found;
 
  writeln('Swaps = ', n);
end.

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