-2

私はSkienaのアルゴリズムの本に従っています。第 1 章では、/ または * 演算子を使用せずに実数を除算する問題を出しました。私はそれをPythonで次のように実装しました:

def main(dividend, divisor ):
    print "dividend : ",dividend
    print "divisor : ", divisor
    if dividend<divisor:
        print "dividend has to be greater than divisor"
        return;
    quotient=0
    sum=0
    while sum<dividend:
        sum = sum+divisor
        print "sum : ",sum
        quotient = quotient+1
        if sum>dividend:
            remainder = dividend-(sum-divisor)
            quotient=quotient-1
            print "remainder : ", remainder
    print "quotient :", quotient





    if __name__ == "__main__":
        # pass any two real number as dividend and divisor
        main(29, 3)

問題は、「それを行うための最速の方法を見つける」必要があるとも述べています。問題をより迅速に解決する他の方法はありますか?

4

1 に答える 1