📜  对数组中的整数进行计数,该整数是其位数的倍数(1)

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

计算数组中位数倍数的整数数量

本程序用于计算给定数组中,各个位数倍数的整数数量。

实现原理

程序首先遍历数组,将每个数字转化为字符串后,计算它的位数,并记录在计数器中。接着遍历计数器,对于每个不为零的计数器,输出其对应的位数倍数的整数数量。

代码实现
def count_mult_of_digits(arr):
    digit_count = [0] * 10
    for num in arr:
        digits = len(str(num))
        digit_count[digits] += 1
    for i in range(1, 10):
        count = 0
        for j in range(i, 10, i):
            count += digit_count[j]
        if count != 0:
            print(f"位数为 {i} 的整数数量为 {count}。")
使用示例
arr = [12, 345, 6789, 123456789, 10, 9]
count_mult_of_digits(arr)

输出如下:

位数为 1 的整数数量为 4。
位数为 2 的整数数量为 1。
位数为 3 的整数数量为 1。
位数为 9 的整数数量为 1。