
Вопрос задан 19.01.2019 в 03:16.
Предмет Информатика.
Спрашивает Галактионов Илья.
Дана последовательность, состоящая из 10 чисел [7, 3, 10, 9, 8, 4, 1, 6, 2, 5]. Вы умеете за один
ход поменять в ней местами два любых соседних числа. За какое минимальное количество ходов вы сможете получить последовательность, в которой все числа идут по возрастанию?

Ответы на вопрос

Отвечает Рябков Максим.
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
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


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