我们能快找到所有总和为N的四平方组合吗?
在Stack Overflow(此处)提出了一个问题: 给定一个整数,打印出的整数值的所有可能的组合和其中求解方程式。A ,B ,C D A 2 + B 2 + C 2 + D 2 = NñNNA ,B ,CA,B,CA,B,CdDD一个2+ B2+ C2+ D2= NA2+B2+C2+D2=NA^2+B^2+C^2+D^2 = N 这个问题当然与Bachet的数论猜想有关(由于他的证明,有时也称为Lagrange的四平方定理)。有一些论文讨论了如何找到一个解决方案,但是我一直找不到任何关于我们能够以多快的速度找到特定所有解决方案的信息(即所有组合,而不是全部排列)。ñNN 我已经考虑了很多,在我看来,它可以在时空中求解,其中是所需的总和。但是,由于缺乏有关该主题的任何先验信息,我不确定这是否对我而言是重要的主张,还是仅是微不足道的,显而易见的或已知的结果。Nø (Ñ)O(N)O(N)ñNN 因此,问题是,对于给定的,我们能快找到所有四平方和?ñNN 好的,这是我正在考虑的(几乎)O(N)算法。前两个支持函数,最近的整数平方根函数: // the nearest integer whose square is less than or equal to N public int SquRt(int N) { …