在python中如何分解质因数

在python中如何分解质因数
解决此题时,首先先了解一下分解质因数的含义:分解质因数也称分解素因数,其只针对合数,所以在进行质因数分解前,先判断其是否为合数,如果不是则直接输出,如果输入的数为合数,则需要一步步的进行分解,要从最小的质数除起,一直除到结果为质数为止。如:30 =2x3x5
为了使程序看上去更加模块化,先定义了两个函数:即判断输入的数是否为合数的函数以及质因数分解的函数
1、

def prime_number(input_number):
    """
    判断是否为质(素)数
    """
    is_prime_number = False
    for i in range(2, input_number):
        if input_number % i == 0:
            break
    else:
        is_prime_number = True
    return is_prime_number

2、

def prime_factor_decomposition(input_number):
    """
    质因数分解
    """
    print(input_number, "=", end="")
    has_number = True
    while has_number:
        for i in range(2, input_number + 1):
            if input_number % i == 0:
                print(i, end="")
                break
        if input_number == i:
            has_number = False
        else:
            input_number = int(input_number / i)
            print("*", end="")
     定义好了两个函数之后,接下来直接在主函数中调用即可。

主函数:

def main():
    """
    主函数
    """
    input_number = int(input("请输入一个整数:"))  #输入一个要分解的整数
    if prime_number(input_number):        #调用第一个函数,判断是否为质数
        print("{}是一个质数,无法进行质因数分解".format(input_number))
    else:                #如果不是质数,则调用第二个函数进行质因数分解
        prime_factor_decomposition(input_number)

if __name__ == "__main__":
    main()

大家可以多运行几次,看看是否有错误,如果有的话还请大家及时指出!
谢谢观看!!!
注:本人目前正在学习python,需要就业班视频的可以留下联系方式,一起学习!

你可能感兴趣的:(python学习)