计算将整数n分解为4平方和的方法的数量

Count the number of ways to decompose integer n into sum of 4 squares

本文关键字:和的 方法 方和的 整数 分解 计算      更新时间:2023-10-16

对于整数N (0 <= N <= 10^7),回答以下问题。

有多少种方法可以将整数n分解为4平方和?

示例:

给定文件NUMBER.INP中的整数n

NUMBER.INP
3

我们将结果写入文件NUMBER.OUT是将整数n分解为和的方法的数量。

NUMBER.OUT
4

结果是4,因为:

3 = 0^2 + 1^2 + 1^2 + 1^2
3 = 1^2 + 0^2 + 1^2 + 1^2
3 = 1^2 + 1^2 + 0^2 + 1^2
3 = 1^2 + 1^2 + 1^2 + 0^2

你必须应用两个定理来解决这个问题。

  1. Lagrange's_four-square_theorem

  2. Jacobi's_four-square_theorem

第二个定理指出

如果n是奇数,则将n表示为四平方和的方法的数量是n的除数和的8倍,如果n是偶数,则表示n的奇数除数和24倍

所以最终问题归结为寻找除数。这可以在O(sqrt(n((时间上完成。由于你有多个查询,这可以在O(log(n((时间内使用Erathoses 的筛子进行进一步优化