编程题

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

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

    q:=0;  r:=x;

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

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

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

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

[程序清单]

查看答案
赣ICP备20007335号-2