繁体   English   中英

Python:从没有字符串的较小数字中计算可整除的数字

[英]Python: Count divisible numbers from a smaller number WITHOUT string

假设你有一个 function:

def count_divisible_numbers(n, m):
    ...

这个 function 应该计算n中有多少位可以被m整除。

例如:

>>> n = 668593
>>> m = 3
>>> count_divisible_numbers(n, m)
4

因为6668593 (n) 的 6、6、9 和 3 可以被 3 (m) 整除。

您不能使用 str 将n分成单独的部分,并且您只能使用没有递归的 python 内置变量/函数(无导入)。

您将如何定义此 function 以使其产生该结果?

注意:我是一个自学成才的 Python 程序员,之前开发过软件包和 web 应用程序,这是我的一个大学学生遇到的一个问题,我不知道如何解决,这让我很恼火。

您可以通过取模数 10 来检查n的个位,然后使用该值检查是否可以被m整除。 然后整数除以 10 以将所有数字“移到”上,以处理现在位于个位的下一个数字。

def count_divisble_numbers(n, m):
    total = 0
    while n > 0:
        if (n%10) % m == 0:
            total += 1
        n //= 10
    return total

>>> count_divisble_numbers(668593, 3)
4

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM