编程题

[问题描述] 在进行正整数的除法运算时,可以通过减法来实现。

例如(Q:商,R:余数)可通过下列的方式实现:

q:=0; r:=x;

while r>=y do begin r:=r-y; q:=q 1 end;

结果,商在q中,余数在r中。

[算法说明] 上面的算法有一个缺点,就是当x比较大、y比较小时,则运算的次数非常多,速度太慢。为提高速度,下面给出改进的算法:先找一个非常接近x的数w,且满足:

然后通过减法与移位的运算,以较少的运算次数完成除法。

[程序清单]

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论