📜  打印给定数字的单位位数的倍数(1)

📅  最后修改于: 2023-12-03 14:54:29.946000             🧑  作者: Mango

打印指定数字的单位位数的倍数

本程序根据用户输入的数字,将打印出所有该数字的单位位数的倍数。

例如,对于数字1234,其单位位数为1、10、100、1000,因此程序将打印出1、10、100、1000、1234、2468等数字。

代码示例
def get_multipliers(num):
    """
    获取一个数字的单位位数的倍数
    """
    result = []
    for i in range(len(str(num))):
        base = int('1' + '0' * i)
        result.append(int(num / base) * base)
    return result

if __name__ == '__main__':
    num = int(input('请输入一个数字:'))
    multipliers = get_multipliers(num)
    print(multipliers)
结果示例

对于输入的数字1234,程序将输出:

[4, 30, 200, 1000]

其中,4、30、200、1000分别为1234的个位、十位、百位、千位的倍数。

算法分析

本程序的算法思路如下:

1.获取数字的位数。

2.将数字按照1、10、100、1000等单位,依次求出其倍数。

3.返回所有的倍数。

本算法的时间复杂度为O(n),其中n为数字的位数。在输入较大的数时,算法效率可能会有所降低。