使用递归计算 Div 和 Mod

Calculating Div and Mod using recursion

我是 Python 的新手,尽我最大的努力去解决这个问题,但它比我想象的要难得多。我正在尝试在 python 中编写计算 div 和 mod 的递归函数。 div 将两个整数作为输入,并不断地从第一个整数中减去第二个整数,直到 第一个数字变得小于第二个数字。该函数跟踪有多少 从第一个数字中减去第二个数字的次数,然后 returns 该数字作为答案。 mod 也将两个整数作为输入并不断从第一个中减去第二个 直到第一个数小于第二个数。当第一个数 变得小于第二个,第一个数的值就是答案。

def lastDigit(x):
 return mod(x,10)



def allButLast(x):
 return div(x,10)

如有帮助将不胜感激。

只要 p>=0 且 q>0,以下内容就有效。

def mod(p,q):
    if p<q:
        return p
    return mod(p-q,q)

def div(p,q):
    if p<q:
        return 0
    return 1+div(p-q,q)