回复 10 楼
@别问是劫是缘 ,
比如 开三次方, a ³ 可以写成
a ³ = ( a1 + b ) ³
= a1 ³ + 3 a1 ² b + 3 a1 b ² + b ³ ,
a1 已知, b 未知 。
这里 产生了 一个 b 的 一次项 3 a1 ² b , 一个 b 的 二次项 3 a1 b ² ,
开 n 次方 会 产生 n 个 余项, 最后一个 n 次方 的 余项 的 系数 永远 是 1, 不用管 。 需要 累积 系数 的 余项 是 前面 的 n - 1 个 。
开三次方 会 产生 3 - 1 = 2 个 需要 累积 系数 的 余项, 这里 是 第一次 迭代, 3 a1 ² b 、3 a1 b ² 就是 第一次 迭代 时 产生 的 这 2 个 余项 。
令 b = b1 + c , 则,
a1 ³ + 3 a1 ² b + 3 a1 b ² + b ³
= a1 ³ + 3 a1 ² ( b1 + c ) + 3 a1 ( b1 + c ) ² + ( b1 + c ) ³
= a1 ³ + 3 a1 ² ( b1 + c ) + 3 a1 ( b1 ² + 2 b1 c + c ² ) + b1 ³ + 3 b1 ² c + 3 b1 c ² + c ³
= a1 ³ + 3 a1 ² b1 + 3 a1 ² c + 3 a1 b1 ² + 3 a1 * 2 b1 c + 3 a1 c ² + b1 ³ + 3 b1 ² c + 3 b1 c ² + c ³
可以看到,
3 a1 ² ( b1 + c ) 中 产生了 c 的 一次项 3 a1 ² c ,
3 a1 ( b1 + c ) ² 中 也 产生了 c 的 一次项 3 a1 * 2 b1 c ,
( b1 + c ) ³ 中 也 产生了 c 的 一次项 3 b1 ² c ,
这 3 个 一次项 可以 合并为 一个, 这个项 就是 本次 迭代 产生 的 一次余项 。
同理,
3 a1 ( b1 + c ) ² 中 也 产生了 c 的 二次项 3 a1 c ² ,
( b1 + c ) ³ 中 也 产生了 c 的 二次项 3 b1 c ² ,
这 2 个 二次项 可以 合并为 一个, 这个项 就是 本次 迭代 产生 的 二次余项 。
接下来 的 开方过程 是 令 c = c1 + d , 重复 上述过程 。
所以, n - 1 个 累积量, 也就是 余项系数, 可以用 一个 长度 为 n - 1 的 数组 保存, 但 每一个 余项系数 都 是 由 上述 的 迭代过程 计算产生, 这个 迭代计算 过程 比较 繁琐, 如果 能将 这个 迭代过程 归纳为 公式, 大概 是 一个 数列 的 通项公式 。
如果 不能 把 余项系数 的 计算过程 归纳 为 通项公式, 那么, 每 迭代一次, 余项系数 的 公式 就会 ”膨胀“ 一点, 当然, 这只是一个 形象 的 比喻 。
另一方面, 从上面的 计算过程 可以看出, 余项系数 是 相乘 一个 倍数 之后 再 相加, 得到 新的 余项系数 。 这可以看作是 成倍增长, 也差不多是 几何级数 。 这是 数值 上 的 ”膨胀“ 。
余项系数 膨胀 的 速度 和 开方 的 次方 有关, 次方 越大, 余项系数 膨胀 的 越快 。
另外, 次方 越大, 余项 越多, 一个 余项 需要 合并 的 项 也 越多 。