CF1982B Collatz Conjecture
题目描述
最近,一年级新生 Maxim 了解到了 Collatz 猜想,但他在讲座上并没有认真听讲,所以他认为猜想中提到的是如下过程:
有一个变量 $x$ 和一个常数 $y$。进行 $k$ 次如下操作:
- 将 $x$ 增加 $1$,然后
- 当 $x$ 能被 $y$ 整除时,不断将 $x$ 除以 $y$。
注意,这两个动作在一次操作中依次进行。例如,如果 $x = 16$,$y = 3$,$k = 2$,那么第一次操作后 $x$ 变为 $17$,再进行一次操作后 $x$ 变为 $2$,因为加一后 $x = 18$,可以被 $3$ 连续整除两次。
给定 $x$、$y$ 和 $k$ 的初始值,Maxim 想知道经过 $k$ 次操作后 $x$ 的最终值。
输入格式
每组测试包含多个测试用例。第一行包含一个整数 $t$($1 \le t \le 10^{4}$)——表示测试用例的数量。接下来是每个测试用例的描述。
每个测试用例一行,包含三个整数 $x$、$y$ 和 $k$($1 \le x, k \le 10^{9}$,$2 \le y \le 10^{9}$)——初始变量、常数和操作次数。
输出格式
对于每个测试用例,输出一个整数——经过 $k$ 次操作后得到的数。
说明/提示
在第一个测试用例中,只对 $x = 1$ 进行了一次操作,结果 $x$ 变为 $2$。
在第二个测试用例中,对于 $x = 2$,一次操作中先加一再除以 $y = 3$,结果 $x$ 变为 $1$。
在第三个测试用例中,$x$ 的变化如下:
- 第一次操作后,$x = 1$,因为 $24 + 1 = 25$,$25$ 可以被 $y = 5$ 连续整除两次。
- 第二次操作后,$x = 2$。
- 第三次操作后,$x = 3$。
- 第四次操作后,$x = 4$。
- 第五次操作后,$x = 1$。
由 ChatGPT 4.1 翻译