我怎样才能把它放在递归中?这是一个用来计算一个数的阶乘,判断一个数是素数还是素数的赋值,不仅要用加法和减法,而且要用递归的形式,但我不知道怎么做
def Prod(x,r):
z=0
while x>0:
z=z+r
x=x-1
return z
def Fat(x):
r=1
while x>1:
r=Prod(x,r)
x=x-1
return r
以及
def Divi(x,d):
c=0
while x>=d:
x=x-d
c=c+1
return x
def Pri(x):
r='N'
d=2
while d<x and r=='N':
if(Divi(x,d)==0):
r='S'
d=d+1
if r=='N':
t='its prime'
else:
t='not prime'
return t
忘了提一下,我只能用if ... elif ... else
除此之外什么也不能用
递归函数只是一个调用自身的函数
除此之外,上面给出的最简单的递归函数永远递归,就像一个无限循环永远循环:
那么你该怎么做来防止无限循环呢?你有一个循环条件:
现在你的循环将退出。那么如何防止递归函数无限循环呢?我们提供了一个基本情况,其中递归函数不调用自身:
在上面的代码中,当
x>1
不再为true时退出循环。这是你的基本情况。所以把它写成一个if
语句,这样函数只有在x>1
时才会在自身上递归。这里有一个提示:当您以递归方式编程时,您是在调用函数本身
在本例中,您正在调用函数本身内部的
Fat
相关问题 更多 >
编程相关推荐