楼层划分的递归函数

时间:2017-03-18 01:41:14

标签: python algorithm recursion division floor

我正在创建一个递归函数,它基本上不使用'//'运算符来操作floor division。我已经找到了这个函数,但只有当输入n为正时,我才在努力弄清楚如何在n< d。非常感谢任何帮助,谢谢!

我目前的代码:

def quotient( n , d ):

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

    else: 
        return n

1 个答案:

答案 0 :(得分: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是否定的,我们会以与正面情况类似的方式处理它,只需切换标志。