📜  Python3程序计算可被10整除的旋转(1)

📅  最后修改于: 2023-12-03 15:19:13.246000             🧑  作者: Mango

Python3程序计算可被10整除的旋转

这个Python3程序可以计算一个数的所有旋转中,有多少个能被10整除。

程序实现
def isDivisible(num):
    if num % 10 != 0:
        return False
    num //= 10
    while num > 0:
        if num % 10 in {2, 5, 7}:
            return False
        num //= 10
    return True

def countDivisible(num):
    count = 0
    for i in range(len(str(num))):
        if isDivisible(num):
            count += 1
        num = str(num)[-1] + str(num)[:-1]
        num = int(num)
    return count

这个程序包含两个函数:

  • isDivisible(num):判断一个数能否被10整除的函数
  • countDivisible(num):计算一个数的所有旋转中,有多少个能被10整除的函数

isDivisible(num)函数的具体实现如下:

  1. 如果num不能被10整除(即最后一位不是0),直接返回False。

  2. 如果num可以被10整除,将num整除以10。

  3. 循环遍历num的每位数字,如果存在2、5、7就返回False,否则返回True。

countDivisible(num)函数的具体实现如下:

  1. 初始化一个计数器count为0。

  2. 使用一个for循环遍历num的所有旋转,对于每一个旋转,调用isDivisible(num)函数判断该旋转是否能被10整除,若能,则将count加1。

  3. 返回计数器count的值。

使用示例
>>> countDivisible(120)
2
>>> countDivisible(250)
0
>>> countDivisible(170)
1
>>> countDivisible(10000)
1

以上使用示例分别计算了数120、250、170、10000的所有旋转中,能被10整除的个数并返回。