我在做一個關於除數的簡單代碼,我想對計算機給我一個答案需要多長時間的反饋。時間需要多長時間
這裏是我的代碼:
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)或時間模塊。 –
您可以對數字進行素數分解,然後生成所有因素的組合。 –