会员专享
请先
登录,登录后可使用今日免费解锁;
开通会员,或
购买
该题目所属题库
,可解锁完整内容。
解题思路
把正整数按顺序拼接成无限长字符串:123456789101112...。要在其中找到第 n 位的数字,可以用“按位数分组”的思路(数位统计)来定位:
-
分组统计
- 1 位数共有
9 个,贡献 1*9 位;
- 2 位数共有
90 个,贡献 2*90 位;
- 3 位数共有
900 个,贡献 3*900 位;
P4312.第1题-银行流水记录
题目内容
某银行的流水记录采用连续编号方式,流水记录编号从 1 开始依次递增:1,2,3,....9,10,11,12,… ,这些编号会被依次拼接成一个无限长的数字字符串:“123456789101112131415”
银行柜员在处理业务时,需要查询这个拼接字符串中第 n 位数字对应的编号(位置从 a 开始计数),请编写一个程序,接收一个整数 0 (即查询编号),返回这个无限长数字字符串中第 n 位的数字。