階乗を計算するためのこのコードで、ステップが-1でなく-1であるのはなぜですか? n = 0と計算する方法は、プログラム内にnが0,、n> 0の場合のみです。なぜこの階級コード(再帰なし)では、ステップは+1ではなく-1ですか?
def factorial(n)
if n < 0
return nil
end
result = 1
while n > 0
result = result * n
n -= 1
end
return result
end
'4! = 4 * 3 * 2 * 'または' 2 * 3 * 4'である。このコードの作成者は '4'(引数' n')から始まり、作業を中止することに決めました。 –
(コードコメントなしでは、なぜ結果が 'n'に初期化されていないのか、' n'をデクリメントし、 '1
greybeard