使用Python从给定范围中查找数字出现次数的程序

使用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

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程