基数 bn に対する数値 x の対数を計算する単純な手順 myLog(x, b) を記述します。言い換えると、myLog は、b の累乗が x 以下であるような b の最大累乗を返す必要があります。 .
x と b は両方とも正の整数です。b は 2 以上の整数です。関数は整数の答えを返す必要があります。
Python のログ関数は使用しないでください。代わりに、単純な算術演算子と条件付きテストを使用する、この問題に対する反復的または再帰的なソリューションを使用してください。
以下のコードで何が間違っていますか? 条件が失敗したときに何を返すかについて言及していないため、falseのままにしておきました
def myLog(x, b):
count = 1
while x > 0 and b >= 2:
ans = b ** count
if (ans == x):
print str(count)
break
elif (ans > x):
print str(count-1)
break
count += 1
else:
return False