使用Python从给定范围中查找数字出现次数的程序
假设我们已经提供了两个正整数n和d,其中 d 是 0 到 9 中的一个数字。我们必须确定数字1到n之间数字d出现的次数。
因此,如果输入是 n = 45、d = 5,则输出将为 5。
这些数字包含数字 5:[5,15,25,35,45]。
为了解决这个问题,我们需要按照以下步骤操作:
- 定义函数 solve()。这将以 n 和 d 作为输入。
-
如果 n < 0,则
- 返回 0
- k := n /10 的 floor – 1
-
ans := solve(k, d) * 10 + k + 1
-
如果 d 和 0 相同,则
- ans := ans – 1
- m := n / 10 的 floor * 10
-
当 m <= n 时,执行以下操作:
- 在 m 的字符串表示中出现 D 的计数增加到 ans 中。
-
m := m + 1
-
返回 ans
-
现在从主函数中调用该函数-
-
value := solve(n,d)
-
print(value)
以下是实现的更好理解的实例-
更多Python相关文章,请阅读:Python 教程
示例
class Solution:
def solve(self, n, d):
if n < 0:
return 0
k = n // 10 − 1
ans = self.solve(k, d) * 10 + k + 1
if d == 0:
ans −= 1
m = n // 10 * 10
while m <= n:
ans += str(m).count(str(d))
m += 1
return ans
ob = Solution()
print(ob.solve(45,5))
输入
45, 5
输出
5