汇编语言开方程序

汇编语言开方程序,第1张

求证: n 项奇弊锋数的和“1 + 3 + 5 + ... + (2n-1)”,是 n^2。

证明: 这是等差数列的和。

等差数列之和=(首项+末项)× (项数 / 2)

即: 1 + 3 + 5 + ... + (2n-1) = (1 + (2n-1)) * (n/2)

 消卜察= n^2

编程思路:

从一个数字 M (包含一个完全平方数 N + e) 中,依次减去:1、3、5、...,直到不够减为止,减去了多少次?平方根就是几。

程序的核心部分如下:

 MOV  AX,[data];取来M

 MOV  BX,1 ;首项为1

 MOV  CX,1

_S_LOOP:

 SUB  AX,BX

 JC_END ;有借位为止

 INC  BX 拿茄 ;修改为3、5、7...

 INC  BX

 INC  CX;n加1

 JMP  _S_LOOP  ;不停的减

_END:

 MOV  [root],CX;保存n

就这些。

这种求平方根的方法,效率很高,远远高于牛顿迭代法。

汇编程序:用减奇数法开平方(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 的平方根。

程序可见:

这种求平渗尘方根的方法,效率很高,远远高于牛顿迭代法。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12405641.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存