為什麼我要記錄這個問題,因為之前面試的時候遇到過,當時自己寫的演算法不好,所以,在此記錄一下
**是基於python3寫的(人生苦短,寫演算法請用python,web的話請用php ^_^)
def prime(n):
l =
while n > 1:
for i in range(2, n + 1):
if n % i == 0:
n = int(n / i)
break
return l
print(prime(1020)) # [2, 2, 3, 5, 17]
從最小質數2開始,如果num能被i整除,則num = num / i,不能則i += 1
這裡你可能有疑問,如果乙個數被6整除了呢,那麼它加入這個list不久不對了嘛?
但是你應該意識到,被6能整除,它肯定被它的質數整除了,我們是從最小質數開始的
SQL 合併兩個結果集 乙個倒序,乙個正序
要求狀態正常的按end time 公升序排,後面跟著 過期的 資料,按end time 倒序排 select from select from table where status 正常 order by end time asc a union all select from select fro...
實現乙個圓角正多形蒙版
正多邊形蒙版 1 先畫個正多邊形alpha1 2 在每個內角處畫個相切圓,求uv座標是否每個圓面向多邊形內角的那一方位上anglearea,求uv座標到每個圓的原點的距離curr,求圓半徑r,可得總的 alpha2 step r,curr anglearea 3 蒙版透明度為 alpha1 alph...
因式分解乙個正整數(遞迴方法)
include include include include include include include using namespace std void print vectorconst data cout endl void combination int n,int m,vecto c...