递归举例

  1. python实现递归

    #1,求阶乘

  2. #for循环实现

  3. def rrfun(n):

    result=n

    for i in range(1,n):

    result=i*result

    return result

    #递归的实现

    def rfun(n):

    if(n==1):

    return 1

    else:

    return n * rfun(n-1)

    #2,求幂

    #for循环实现

    def yy(x,n):

    result=1

    for i in range(n):

    result=result*x

    return result

    #递归实现

    def y(x,n):

    if(n==0):

    return 1

    else:

    return x*y(x,n-1)

    #3,在有序列表中用二分法查找符合条件的量

    #for循环实现

    def ssearch(seq,x):

    for i in range(len(seq)):

    if(seq[i]==x):

    break

    return i

    #递归实现

    def search(seq,x,lower=0,upper=None):

    if upper==None:

    upper=len(seq)-1

    if(lower==upper):

    assert x==seq[upper]

    return upper

    else:

    middle=(lower+upper)/2

    if x>seq[middle]:

    return search(seq,x,middle+1,upper)

    else:

    return search(seq,x,lower,middle)

猜你喜欢

转载自blog.csdn.net/wwwkm123/article/details/81119475