使用递归计算 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)
我是 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)