我在做一个关于除数的简单代码,我想对计算机给我一个答案需要多长时间的反馈。时间需要多长时间
这里是我的代码:
num=int(input('Give me a number'))
listRange=list(range(1,num+1))
divisorList=[]
for number in listRange:
if num%number==0:
divisorList.append(number)
print(divisorList)
正如你所看到的,数字越大,更多的时间,电脑需要处理所有的除数,所以我想知道它花多少时间,而这样做。
*为O(n)*与* N *输入的值。但你可以做得更好:* O(sqrt n)*。 –
看看[timeit.py](https://docs.python.org/3/library/timeit.html)或时间模块。 –
您可以对数字进行素数分解,然后生成所有因素的组合。 –