2015-11-11 71 views
1

有人能告訴我下面的代碼的意圖:這段代碼的意圖(Python 2.7版)

def factor(a): 
    d=2 
    while (d<=(a/2)): 
     if((a/d)*d==a): 
      return ((a/d),d) 
     d=d+1 
    return(a,1) 

我覺得它使用的二進制搜索,對嗎?

+0

@Ed Cottrell:你能告訴我這段代碼的意圖嗎? –

+0

我沒有回答這個問題。我只是修改了格式。無論如何,楊帆給出了非常好的正確答案。 –

回答

3

爲什麼你不插入數字,看看結果是什麼?不,這不是二進制搜索。如函數名稱所示,它返回一個數字的2個因子。 說:

a,b = factor(10) // a will be 5, b will be 2