Advertisement

求一个正整数的分解质因数

阅读量:

素因数即百度百科解释中所述的概念,在数学中被广泛应用于质因数分解等操作。本代码运行于Python 3.7.1版本环境。解题思路为:对于一个给定的整数值N,在其平方根范围内依次检查是否存在能够整除N的因子。若找到这样的因子,则将其从N中分离出来(即求得商),接着对商进行开方运算,并重复上述过程直至所得商无法再被当前范围内的因子整除为止。

复制代码
    import math
    number = int(input("请输入一个正整数: "))
    aTemp = []
    while(1):
    count = int(math.sqrt(number)) + 1
    #循环跳出标志
    flag = False
    for i in range(2,count):
        if number%i==0:#如果整除,则将求得商,继续分解
            flag = True
            aTemp.append(i)
            number = number//i
            break
    
    if flag == False:
        aTemp.append(number)
        break
    
    print("分解的质数相乘:{}".format(aTemp))
    #利用集合去重
    print("该正整数的分解质因数为:{}".format(set(aTemp)))

运行结果

在这里插入图片描述

全部评论 (0)

还没有任何评论哟~