comments | difficulty | edit_url | tags | |||
---|---|---|---|---|---|---|
true |
困难 |
|
给你两个以字符串形式表示的整数 l
和 r
,以及一个整数 b
。返回在区间 [l, r]
(闭区间)内,以 b
进制表示时,其每一位数字为 非递减 顺序的整数个数。
整数逐位 非递减 需要满足:当按从左到右(从最高有效位到最低有效位)读取时,每一位数字都大于或等于前一位数字。
由于答案可能非常大,请返回对 109 + 7
取余 后的结果。
示例 1:
输入: l = "23", r = "28", b = 8
输出: 3
解释:
- 从 23 到 28 的数字在 8 进制下为:27、30、31、32、33 和 34。
- 其中,27、33 和 34 的数字是非递减的。因此,输出为 3。
示例 2:
输入: l = "2", r = "7", b = 2
输出: 2
解释:
- 从 2 到 7 的数字在 2 进制下为:10、11、100、101、110 和 111。
- 其中,11 和 111 的数字是非递减的。因此,输出为 2。
提示:
1 <= l.length <= r.length <= 100
2 <= b <= 10
l
和r
仅由数字(0-9
)组成。l
表示的值小于或等于r
表示的值。l
和r
不包含前导零。