跳到主要内容

P5427. 质因数跳跃

场次:2026年9月11日-非AI方向 · 来源:CodeFun2000 P5427

题目描述​

有一个非空正整数序列 seqseq,长度记为 mm。一开始位置 pp 停在下标 00。随后 pp 可以跳到 p+dp+d 或 p−dp-d,但必须满足 p+d≤m−1p+d \le m-1 且 p−d≥0p-d \ge 0。这里的 dd 取当前格子 seqpseq_p 的质因数;若该格子为 11,则不存在可用的 dd,位置无法再跳。问能否按这条规则让 pp 恰好落到最后一个下标。

质因数:某个正整数的因数里那些质数。整数 11 不含于任何数的质因数集合。

举例来说,1212 可以分解出质因数 22、33。

输入格式​

一行若干正整数,用空格隔开,即整个序列,例如

1 2 3 4

满足 1≤m≤1041 \le m \le 10^{4},1≤seqp≤1031 \le seq_p \le 10^{3}。

输出格式​

若位置能够落到序列末位,输出 true

否则输出 false

示例​

示例 1​

输入:

4 1 1 9

输出:

false

说明:

起点为 44,质因数只有 22,只能跳到下标 22;该处为 11,无法再跳,到不了下标 33。

示例 2​

输入:

10 1 4 9 1

输出:

true

说明:

1010 的质因数是 22 与 55。从下标 00 沿 22 跳到下标 22(值为 44)。

44 的质因数是 22,再沿 22 跳到最后一个下标。

示例 3​

输入:

1 6 8

输出:

false

说明:

起点为 11,没有质因数,位置无法离开下标 00,而末位是下标 22。

加载评论中...