我们怎样才能找到 python 中大数字的最接近的最佳指数。假设我有一个像" X "这样的数字。我想以指数的形式写下这个数字,如下所示:
X=B1^P1 + B2^P2 + B3^P3 + .... + Bn^Pn + R
示例:让我们说X = 99,然后我可以写
X=99= 9^2 + 4 ^ 2 + 2
或者
X=99= 9^2 + 18
或者可能会有N个解决方案,我在python中做的大事就是the link
下面 B1,B2,B3,...... Bn表示基地
P1,P2,P3,...... Pn表示功率
R表示提醒
简而言之
假设我有一个像 2598 这样的数字。
我想写下这个数字如下(使用python)
2599=7^4+14^2+1
答案 0 :(得分:1)
我的意思是,这些功能可以满足您的需求,但仅适用于最大的方块。
import math
def f(n):
""" Returns closest square. """
return math.floor(math.sqrt(n)) ** 2
def getlargestsquares(n):
""" Returns a list of the largest squares that add up to n. """
squares = []
while n > 0:
square = f(n)
squares.append(square)
n -= square
return squares