平方和
对于数字N,如何快速把它分解为6个非0数字的平方和,并且每个数字的位数都不相同,如:\(15395320991 =1^2+12^2+123^2+1234^2+12345^2+123456^2\)
1. 快速求一个解?
2. 列出全部解? 为啥选 15395320991这种没有特点的数字,该不会是 造出来的吧~
===
用Mathematica 的 SquaresR 计算 有 4 740 239 838 220 125 657 600 组解 为了更好理解,我们这里就假设N的范围为10101010101 (=SUMPRODUCT((10^(ROW(1:6)-1))^2)) 到 1010098787886 (=SUMPRODUCT((10^ROW(1:6)-1)^2))
显然10101010102,10101010103,10101010201,10101010301是无解的。
这个有什么优化的算法?
似乎只有6位数中的前两位可直接确定。
查了大量文献,还是没有找到比较高效的算法。比如,和值等于662894,平方和等于341794939132的这样的6个数(6个数分别为1-6位)共有多少组?
页:
[1]