1922: Цікавий алгоритм

Переглянути як PDF

Надіслати розвʼязок

Бали: 12,00 (частково)
Ліміт часу: 1.0s
Ліміт памʼяті: 256M
Ввід: stdin
Вивід: stdout

Автор:
Тип задачі

Розглянемо алгоритм, який на вході отримує натуральне число ~n~ і, якщо ~n~ парне, алгоритм ділить його на два, а якщо ~n~ непарне, алгоритм множить його на три та додає одиницю.

Алгоритм повторює це, поки ~n~ не стане одиницею.

Наприклад, послідовність для ~n=3~ така:

3→10→5→16→8→4→2→1

Ваше завдання — змоделювати виконання алгоритму для заданого значення ~n~.

Обмеження

  • ~1 \le n \le 10^6~

Input

Єдиний рядок вводу містить ціле число nn.

Output

Вивести рядок, який містить усі значення ~n~ під час роботи алгоритму.

Sample Input 1

3

Sample Output 1

3 10 5 16 8 4 2 1

Коментарі

Будь ласка, прочитайте правила перед коментуванням.



  • 0
    zoi190  прокоментовано 7 Жов. 2024, 12:07

    Чи введене число завжди має бути цілим?


    • 0
      zvit  прокоментовано 7 Жов. 2024, 12:12

      так


  • 0
    Hydra  прокоментовано 7 Жов. 2024, 11:19

    Чи обов'язково алгоритм виконує хоча б одну дію? Мається на увазі якщо N = 1, то алгоритм нічого не зробить і треба вивести просто 1, чи алгоритм зробить 3х+1 і виводити послідовність дій після цього?


    • 0
      zvit  прокоментовано 7 Жов. 2024, 12:16

      З умови "Алгоритм повторює це, поки не стане одиницею."