Установите соответствие между описанием алгоритма и результатом его выполнения:
1. Рекурсивная функция: def f(n): если n == 0, вернуть 0, иначе вернуть n % 10 + f(n // 10). Значение f(2749)
2. Список [5, 2, 4, 1, 3] после первого прохода пузырьковой сортировки по возрастанию (соседние элементы сравниваются слева направо, при необходимости меняются местами)
Показать ответ и разборСкрыть ответ и разбор
Верный ответ
- 1B22
- 2B[2, 4, 1, 3, 5]
Разбор
Строка 1: функция складывает последнюю цифру числа с результатом вызова для числа без этой цифры. f(2749) = 9 + f(274) = 9 + 4 + f(27) = 9 + 4 + 7 + f(2) = 9 + 4 + 7 + 2 + f(0) = 22. Значит, верный результат «22». Строка 2: за один проход сравниваем соседние пары. (5, 2) меняем: [2, 5, 4, 1, 3]; (5, 4) меняем: [2, 4, 5, 1, 3]; (5, 1) меняем: [2, 4, 1, 5, 3]; (5, 3) меняем: [2, 4, 1, 3, 5]. Максимальный элемент оказался в конце, список не отсортирован полностью. Верный результат «[2, 4, 1, 3, 5]».