不必真正拼接出整条数字串。从工号 0 开始,每次加 2,按十进制写出当前偶数 k,用累加器记录已经覆盖的字符数。
设已覆盖长度为 acc,当前偶数写成字符串 t。若 acc+∣t∣≥n,则第 n 个字符落在 t 内,其在 t 中从 0 开始的下标为 n−acc−1。否则把 ∣t∣ 累加进 acc,继续下一个偶数。
因为 n≤105,枚举到的偶数规模有限,直接模拟即可。
值班室把所有偶数工号按从小到大的顺序写成十进制,再依次拼接成一条无限长的数字串,得到 0246810121416...。
给定正整数 n,请确定该串的第 n 个字符(下标从 1 开始)。
n 不超过 105。
Scan the QR code below with WeChat to sign in
First-time scan will create your account automatically
请使用微信扫描下方二维码完成注册