如何使用python选择最佳Bi Pi和R(Base,Power,Reminder)

时间:2017-05-25 05:00:28

标签: python algorithm math

我们怎样才能找到 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

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