检查每个数字的频率是否小于Python中的数字

假设我们有一个数字n,我们必须检查n的每个数字的出现是否小于或等于数字本身。

因此,如果输入像n = 5162569,则输出对于所有数字都为(5,2),(1、1),(6、2)和(9,1)为True。频率小于或等于数字值。

示例

让我们看下面的实现以更好地理解-

def solve(n):
   for i in range(10):
      temp = n
      cnt = 0
      while temp:
         if temp % 10 == i:
            cnt += 1
         if cnt > i:
            return False
         temp //= 10
   return True
s = 5162569
print(solve(s))

输入值

5162569
输出结果
True

猜你喜欢