TGViewer
Python вопросы на собеседовании с ответами Python вопросы на собеседовании с ответами @pythonjuniorjob · 7.15K subscribers
Post #918 1.41K
#вопрос267

Сиракузская последовательность генерируется следующим образом. Берем любое натуральное число n. Если оно четное, то делим его на 2, а если нечетное, то умножаем на 3 и прибавляем 1 (получаем 3n + 1). Над полученным числом выполняем те же самые действия, и так далее.

Напишите функцию, которая будет принимать в качестве аргумента число и возвращать кортеж из двух элементов: количества шагов сиракузской последовательности для переданного числа и наибольшее число в этой последовательности.

Примечание: если найдете начальное положительное число, сиракузская последовательность для которого не закончится единицей, — впишете свое имя в историю математики и получите денежную премию.

Примеры:

collatz(2) ➞ (2, 2)
# seq = [2, 1]
collatz(3) ➞ (8, 16)
# seq = [3, 10, 5, 16, 8, 4, 2, 1]
collatz(7) ➞ (17, 52)
# seq = [7, 22, 11, 34, 17, 52, 26, 13, 40, 20, 10, 5, 16, 8, 4, 2, 1]
collatz(8) ➞ (4, 8)
# seq = [8, 4, 2, 1]
  • ❤ 1
More from @pythonjuniorjob
  1. Sep 24, 2026Ответ на #вопрос2509 Смотреть ответ
  2. Sep 24, 2026#вопрос2509 Напишите функцию, которая принимает радиус круга и площадь квадрата и возвраща…
  3. Sep 23, 2026Ответ на #вопрос2409 Смотреть ответ
  4. Sep 23, 2026#вопрос2409 Напишите код для преобразования списка в строку. Примеры: Input: ['Geeks', 'fo…
  5. Sep 4, 2026Ответ на #вопрос20101 Смотреть ответ
  6. Sep 4, 2026#вопрос20101 Как округлить число в Python?
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →