[语言月赛 202309] 扶苏迭代

Luogu
IDLGB3855
Time1000ms
Memory512MB
DifficultyP1
2023O2优化循环结构语言月赛
给定初始变量 $x_0$,请你按如下表达式迭代计算 $x_i$: $$x_i = \left\lfloor\frac{x_{i - 1} + a}{a}\right\rfloor$$ 其中 $i > 0$。 我们称这个迭代过程为扶苏迭代。可以证明,在经过若干次扶苏迭代以后,$x_i$ 的取值会稳定成为一个常数 $x_N$。也就是存在一个 $j \geq 0$,使得对于所有 $k,h \geq j$,$x_k = x_h$。 你的任务是输出 $x_i$ 稳定到这个常数前的扶苏迭代过程。即输出 $x_0, x_1, x_2, \dots x_j$。这里 $j$ 是最小的满足 $x_j = x_N$ 的数。 可以证明,在给定的数据范围下,迭代次数不会很多。 ## Input **本题单个测试点内有多组测试数据**。的第一行是一个整数,表示测试点个数 $T$。 对每组数据,只有一行两个整数,表示 $x_0$ 和 $a$。 ## Output 对每组数据,输出一行若干个用空格隔开的整数,表示扶苏迭代过程变量 $x_i$ 的取值。 [samples] ## Background 给定一个函数 $f(x)$,我们关注如何求出一个点 $x_0$ 使得当把 $x_0$ 带入函数式时,得到的函数值 $f(x_0)$ 为 $0$。即求出方程 $f(x) = 0$ 的一个根 $x_0$。 牛顿迭代法就是这样一个方法。 但是我不打算向您介绍牛顿迭代的具体方法,因为这和本题没什么关系。 ## Note ### 数据规模与约定 - 对 $30\%$ 的数据,$T = 1$。 - 另有 $30\%$ 的数据,$x_0 = a$。 - 对 $100\%$ 的数据,$2 \leq x_0, a \leq 2 \times 10^9$,$1 \leq T \leq 10^4$。
Samples
Input #1
2
2 2
3 2
Output #1
2
3 2
API Response (JSON)
{
  "problem": {
    "name": "[语言月赛 202309] 扶苏迭代",
    "description": {
      "content": "给定初始变量 $x_0$,请你按如下表达式迭代计算 $x_i$: $$x_i = \\left\\lfloor\\frac{x_{i - 1} + a}{a}\\right\\rfloor$$ 其中 $i > 0$。 我们称这个迭代过程为扶苏迭代。可以证明,在经过若干次扶苏迭代以后,$x_i$ 的取值会稳定成为一个常数 $x_N$。也就是存在一个 $j \\geq 0$,使得对于所有 $k,h \\geq",
      "description_type": "Markdown"
    },
    "platform": "Luogu",
    "limit": {
      "time_limit": 1000,
      "memory_limit": 524288
    },
    "difficulty": {
      "LuoguStyle": "P1"
    },
    "is_remote": true,
    "is_sync": true,
    "sync_url": null,
    "sign": "LGB3855"
  },
  "statements": [
    {
      "statement_type": "Markdown",
      "content": "给定初始变量 $x_0$,请你按如下表达式迭代计算 $x_i$:\n\n$$x_i = \\left\\lfloor\\frac{x_{i - 1} + a}{a}\\right\\rfloor$$\n\n其中 $i > 0$。\n\n我们称这个迭代过程为扶苏迭代。可以证明,在经过若干次扶苏迭代以后,$x_i$ 的取值会稳定成为一个常数 $x_N$。也就是存在一个 $j \\geq 0$,使得对于所有 $k,h \\geq...",
      "is_translate": false,
      "language": "English"
    }
  ]
}
Full JSON Raw Segments