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