Python:从一个不带字符串的较小数字中计算可整除的数字

2024-09-28 21:41:47 发布

您现在位置:Python中文网/ 问答频道 /正文

假设你有一个函数:

def count_divisible_numbers(n, m):
    ...

此函数应计算n中有多少位数可被m整除

例如:

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

因为{}(n)中的6,6,9和3可以被3(m)整除

您不能使用str将n分解为单独的部分,并且您只能使用pythons内置的变量/函数(无导入),而无需递归

如何定义此函数以使其产生该结果?

注意:我是一名自学成才的Python程序员,以前一直在编写软件包和web应用程序,这是我的一名大学生遇到的一个问题,我不知道如何解决,这让我很恼火


Tags: 函数web应用程序定义defcount内置程序员
1条回答
网友
1楼 · 发布于 2024-09-28 21:41:47

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

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

相关问题 更多 >