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

Перегляд у форматі PDF

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

Бали: 12,00 (partial)
Time limit: 1.0s
Memory limit: 256M
Input: stdin
Output: stdout

Author:
Problem type

Розглянемо алгоритм, який на вході отримує натуральне число ~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

Коментарі

Please read the guidelines before commenting.



  • 0
    zoi190  commented on Жов. 7, 2024, 12:07 після полудня

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


    • 0
      zvit  commented on Жов. 7, 2024, 12:12 після полудня

      так


  • 0
    Hydra  commented on Жов. 7, 2024, 11:19 до полудня

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


    • 0
      zvit  commented on Жов. 7, 2024, 12:16 після полудня

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