Алгоритмнің сипаттамасы мен оның орындалу нәтижесінің сәйкестігін орнатыңыз:
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]».