2017-03-18 74 views
1

我正在創建一個遞歸函數,它基本上在不使用「//」運算符的情況下操作地板分割。我已經計算出了這個函數,但是隻有當輸入n是正數,並且我正在努力找出如何操作函數的時候。任何幫助非常感謝,謝謝!地板分區的遞歸函數

我當前的代碼:

def quotient(n , d): 

    if (n >= d): 
     return quotient(n - d, d) + 1 

    else: 
     return n 

回答

3

你可以那樣做:

def quotient(n , d): 

    if (0<=n<d): 
     return 0 
    if (n >= d): 
     return quotient(n - d, d) + 1 
    if n<0: 
     return quotient(n + d, d) - 1 

如果0<=n<d商爲0,這是第一個if。如果n是否定的,我們以類似的方式處理它,只是切換標誌。

+0

非常感謝! –