答案 0 :(得分:1)
扩展内部词语,得到m^3 - 3m^2n + 3mn^2 - n^3
,得到m^5
,-3m^4n
,3m^3n^2
和-m^2n^3
的双重总和。这些总结是可分的,这意味着它们是m
幂m
之和与n
幂n
之和的乘积。
您可以通过最多五度Faulhaber formulas来计算这些总和,它们是多项式表达式。按Horner's method评估它们。
int F1(int n) { return (n + 1) * n / 2; }
int F2(int n) { return ((2 * n + 3) * n + 1) * n / 6; }
int F3(int n) { return ((n + 2) * n + 1) * n * n / 4; }
...
int S= F5(20) * 30 - 3 * F4(20) * F1(30) + 3 * F3(20) * F2(30) - F2(20) * F3(30);
使用明显的求和方法,内部循环将评估差异的30
个多维数据集,总共60
次加法和60
次乘法,外部循环将重复此20
次,额外的乘法和加法,总共1220 +
和1240 *
。
与上述方法相比,总共执行18 +
,30 *
和7
分割(与m
和n
的值无关。)< / p>