小编Reg*_*rde的帖子

将整数写为不同整数的 k 次方之和

给定一个整数 n (n >= 1) 和一个数字 k,返回将 n 写为 k 次方不同整数的所有可能方法。例如,如果 n = 100 且 k = 2:

100 = 1**2 + 3**2 + 4**2 + 5**2 + 7**2
    = 6**2 + 8**2
    = 10**2
Run Code Online (Sandbox Code Playgroud)

或者如果 k = 3:

100 = 1**3 + 2**3 + 3**3 + 4**3
Run Code Online (Sandbox Code Playgroud)

因此program(100,2)返回类似[(2, [1, 3, 4, 5, 7]), (2, [6, 8]), (2, [10])], and 的内容program(100,3) [(3, [1, 2, 3, 4])]

只要输入 n 很小,或者 k 是“大”(>=3),一切都会正常工作。我的方法是首先获取所有整数的列表,其 k 次幂 <= …

python math optimization python-3.x

3
推荐指数
1
解决办法
250
查看次数

标签 统计

math ×1

optimization ×1

python ×1

python-3.x ×1