楼层划分的递归函数

recursive function for floor division

我正在创建一个递归函数,它本质上是在不使用“//”运算符的情况下操作楼层除法。我已经弄清楚了这个函数,但只有当输入 n 为正时,我才努力弄清楚当 n < d 时如何操作这个函数。非常感谢任何帮助,谢谢!

我当前的代码:

def quotient( n , d ):

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

    else: 
        return n

你可以这样做:

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 是负数,我们处理它的方式与正数情况类似,只是交换符号。