# 枚舉法 --- 就是一個數一個數的試 # 算法的5大特性: # 輸入:算法具有0個或多個輸入 # 輸出:算法至少有一個或多個輸出 # 有窮性:算法在有限的步驟后會自動結束而不會無限循環,並且每一步可以在接受的時間內完成。 # 確定性:算法中的每一步都有確定的含義,不會出現二義性 # 可行性:算法的每一步都是可行的,也就是說每一步都能夠執行有限的次數完成。 # # 時間復雜度 # 每台機器執行的總時間不同,但是執行的基本運算數量大體相同 # T(n)=N^3*k +c # g(n)=n^3 # T(n)=g(n) g(n)就叫做T(n)的漸進函數 # 把提出來的g(n)叫做時間復雜度的大'o'表示法 # 什么是時間復雜度:T(n)就是時間復雜度
枚舉的思想 import time start_time = time.time() for a in range(0,1000): for b in range(0,1000): for c in range(0,1000): if a+b+c==1000 and a**2 + b**2 == c**2: print('a,b,c:%d %d %d'%(a,b,c)) endtime = time.time() print('times:%d'%(endtime-start_time)) print('finished') # import time # start_time = time.time() # for a in range(0,1001): # for b in range(0,1001): # c = 1000 -a - b # if a**2 + b**2 == c**2: # print('a,b,c:%d %d %d'%(a,b,c)) # endtime = time.time() # print('times:%d'%(endtime-start_time)) # print('finished')