#2863. 完美数字变换

完美数字变换

完美数字变换

题目描述

给定一个正整数 nn,重复执行以下变换操作直到变为 11,并输出每次变换后的数字:

  1. 如果当前数字是斐波那契数,则将其除以 22
  2. 如果不是斐波那契数:
    • 找到比它大的最小斐波那契数 FF
    • 计算差值 d=Fnd = F - n
    • 如果 dd 是质数,则 n=n+dn = n + d
    • 如果 dd 不是质数,则 n=ndn = |n - d|

输入格式

一个整数 nn1n1061 \leq n \leq 10^6

输出格式

若干行,每行一个整数,表示每次变换后的数字,直到最后一行输出 11

样例

输入样例1

13

输出样例1

13
6
8
4
3
1

输入样例2

22

输出样例2

22
10
13
6
8
4
3
1

数据范围与提示

  • 斐波那契数列定义为:F0=0F_0=0, F1=1F_1=1, Fn=Fn1+Fn2F_n=F_{n-1}+F_{n-2}

  • 质数是指大于1的自然数,且只能被1和它本身整除

  • 保证所有输入都能在有限步内变为1

  • 建议预处理斐波那契数列以提高效率