1.完美平方

    科技2022-07-16  118

    1.完美平方(python实现)

    问题描述: 给定一个正整数n,找到若干个完全平方数,使得它们的和等于n,完全平方数的个数最少。 问题示例: 给出 n = 12 ,返回 3 , 因为 12 = 4 + 4 + 4 ;给出 n = 13 , 返回 2,因为 13 = 4 + 9。

    利用定理: 代码实现:

    class Solution: def numSquares(self, n): """拉格朗日四平方和定理""" while n % 4 == 0: n //= 4 if n % 8 == 7: return 4 for i in range(n + 1): t = i * i if t <= n: print(int((n - t) ** 0.5)) print(int((n - t) ** 0.5) ** 2 + t) if int((n - t) ** 0.5) ** 2 + t == n: return 1 + (0 if t == 0 else 1) else: break return 3 if __name__ == '__main__': solution = Solution() n = int(input("请输入正整数n:")) print("结果为:", solution.numSquares(n))
    Processed: 0.011, SQL: 8