Py学习  »  Python

需要帮助理解python的递归

Rl1 • 5 年前 • 1657 次点击  

我是递归新手,想知道下面代码的逻辑是什么。

问题是hackerrank上的powerSums问题: https://www.hackerrank.com/challenges/the-power-sum/problem?isFullScreen=true

def powerSum(X, N, current = 1):
    pw = pow(current, N)
    if pw > X:
        return 0
    elif pw == X:
        return 1
    else:
        return powerSum(X, N, current+1) + powerSum(X-pw, N, current+1)

此外,我一直试图将答案转换为一个嵌套的列表或一组值,但似乎无法找到答案。怎么能做到?

例如,对于X=5和N=2的情况,我想要得到的解是: [(10),(6,8),(1,3,4,5,7)]。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/49402
 
1657 次点击  
文章 [ 1 ]  |  最新文章 5 年前