在不使用除法(/)运算符和以小数点格式返回商的情况下划分两个数字的功能

时间:2018-03-24 14:04:38

标签: c++ c

这个问题可能看似微不足道,但抓住的是商应该是小数点格式,如下例所示:

  1. 15/2 = 7.5
  2. 10/3 = 3.33
  3. 以下是我知道的代码,如果我需要返回最低值,即15/2 = 7.这里是示例代码(错误检查和符号检查已被删除):

    float divide(float dividend, float divisor) 
    {
        float quotient = 0;
        while (dividend >= divisor) 
        {
            dividend = dividend - divisor;
            ++quotient;
        }
        return quotient;
    }
    

    请建议所需的修改以小数点返回商。以下是几个限制: 不能使用:任何内置功能,*,/,% 允许使用:+, - ,按位运算符,循环,递归。

0 个答案:

没有答案