import time

def find_factors(n, factors): if n == 1: # 打印乘积因子 print('*'.join(map(str, factors))) return for i in range(2, n+1): if n % i == 0: # 避免重复因子 if len(factors) == 0 or i >= factors[-1]: find_factors(n//i, factors + [i])

def print_factors(num): if num > 0: find_factors(num, [])

测试用例

print_factors(24)

统计程序运行时间

start_time = time.time() print_factors(1234567890) end_time = time.time() print('输入为1234567890,程序总共耗时:', end_time - start_time, '秒')

关于程序的运行时间和输入正整数的大小之间的关系,可以看出当输入的正整数增大时,程序的运行时间也会增加。因为程序需要遍历所有可能的乘积因子,因此输入的正整数越大,需要遍历的因子就越多,从而导致程序的运行时间增加。这种关系可以用一条曲线图来表示,横轴表示输入的正整数的大小,纵轴表示程序的运行时间。

正整数因子分解算法及运行时间分析

原文地址: https://www.cveoy.top/t/topic/pwmF 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录