经验App:聚合职场优选内容

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

2020-02-19  本文已影响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日

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

上一篇 下一篇

猜你喜欢

热点阅读