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
就这些。
阅读(1567) | 评论(0) | 转发(0) |