递归实现范围内的和

今天,老师要我们写一段实现递归范围内和的代码,经过讨论,分别写出了奇数和,偶数和,证书和。
难度不算难,但是思路很难想,hh

def jishu(n):
    for i in range(n):
    #构造循环次数
        if n%2 == 0:
        #最后一个数不满足条件,减少一次循环
            return jishu(n-1)
        else:
            return n + jishu(n-2)

    else:
    #当循环到最后为0时返回0
        return 0
def oushu(n):
    for j in range(n):
        if n%2 == 0:
            return n + oushu(n-2)
        else:
            return oushu(n-1)
    else:
        return 0
def zhengshu(n):
    for j in range(n):
        if n%1 == 0:
            return n+zhengshu(n-1)
    else:
        return 0
if __name__ == '__main__':
    print(jishu(99))
    print(oushu(100))
    print(zhengshu(100))

猜你喜欢

转载自blog.csdn.net/weixin_44220464/article/details/87889977