Chinaunix首页 | 论坛 | 博客
  • 博客访问: 313182
  • 博文数量: 51
  • 博客积分: 1975
  • 博客等级: 上尉
  • 技术积分: 645
  • 用 户 组: 普通用户
  • 注册时间: 2009-12-17 19:07
文章分类

全部博文(51)

文章存档

2011年(8)

2010年(43)

分类: LINUX

2010-03-08 11:02:53

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

上一篇:Qt/Embedded linux 移植

下一篇:SetWindowPos(MFC)

给主人留下些什么吧!~~