本质是求最大公因数

陈君豪 发表于 2年前 · 关联问题 清扫房间

解析一下问题就是在问能否遍历完一个b为公差、周期为k的一个序列,方便起见起名为f(n)。 可以随便设一个数x为这个序列的起点,如果存在某一时刻f(n0) = x时,则会陷入死循环不能遍历完这个序列,依此可以列个方程 x + n0 b - m0 k = x 解得 n0 b = m0 k; 可以发现当b、k的最大公因数为1时,这个方程才有唯一解 n0 = i k(k的倍数)、m0 = j b(b的倍数),而此时n0 >= k,说明已经遍历了 k 个数字而还没有遍历到a。因此这个问题本质上是判断k,b最大公因数是否为1,是1则输出Yes,不是则输出No

131452lin 发表于 2年前

对的,本质就是这么简单(´-ω-`),看了问题懵逼了好久才弄懂