匯編程序:用減奇數法開平方(16位)
命題:從 1 開始,把連續 n 項奇數的等差數列,求和,可以得到 n^2。
證明:1 + 3 + 5 + ... + (2n-1) = (1 + (2n-1)) * (n/2) = n^2。
那麽,對於任意正整數 M,都會有:
M = 1 + 3 + 5 + … + ( 2n - 1 ) + ε
= n^2 + ε
= N + ε
式中 N 是完全平方數,N = n^2。
式中 ε 是小於 2n - 1 的誤差。
由此,可推出“減奇數開平方”的算法。
即:在 M 中依次減去 1、3、5、...,直到不夠減為止;
夠減的次數 n,即為 N 的平方根。
程序可見:
這種求平方根的方法,效率很高,遠遠高於牛頓叠代法。