美文网首页经验App:聚合职场优选内容
Python练习实例14 | 将一个正整数分解质因数?

Python练习实例14 | 将一个正整数分解质因数?

作者: 暮光微晓破倾城 | 来源:发表于2020-02-19 23:20 被阅读0次

    如何将一个数分解质因数?

    如果仔细来想一下,这个问题其并不是很难。

    分析过程:比如,4=2*2,我们可以首先定义一个数字,然后将这个数字除以比它本身小的数字,如果可以整除(也即余数为0)的时候,可将此数保留下来,接着,再将保留下的这个数再次进行分解,直到除了其本身和1以外,不能再被其他比它小的数整除,即可结束打印并结束运行。

    于是,我们想到了可以使用递归函数实现这项功能。

    代码如下图所示。

    import time  # 引入时间,以便能够测试一下程序运行时间

    start = time.time()  # 程序开始运行的时间

    number =int(input("请输入一个整数: "))  # 输入一个整数

    while number !=1:   # 条件判断,整数不等于1时

        for iin range(1, number +1):   # 输入的整数的范围,在此区间,且其分解的质数亦在此区间

            if (number % i) ==0 and i !=1:   # 如果此数遍历除以比此数小的数,余数为零,且i不等于1 以递归函数实现此功能

                number =int(number / i)    # 就将次数除以i并且取整,重新赋值给number

                if number ==1:   # 如果number等于1

                    print (" %d" %i)  # 打印出i

                else:    # 否则

                    print (" %d *"%i, end='')   # 打印出所有符合条件的质因数i,end=''是为了防止打印的质数换行。

                break

    end = time.time()# 程序结束时间

    print('程序运行时间为%f'%(end-start))# 打印出程序运行时间差


    2020年2月19日

    北京市通州区北运河西京贸中心

    相关文章

      网友评论

        本文标题:Python练习实例14 | 将一个正整数分解质因数?

        本文链接:https://www.haomeiwen.com/subject/sfzzfhtx.html