0
Iのみ奇数または階乗のみ二重の要素を計算するために、階乗再帰を変更すべきである方法、例えば場合:?[宿題]
multiplyOdds(4)
結果は1 * 3 * 5 * 7 = 105を返す必要があります。
再帰の仕組みを知っています。
Iのみ奇数または階乗のみ二重の要素を計算するために、階乗再帰を変更すべきである方法、例えば場合:?[宿題]
multiplyOdds(4)
結果は1 * 3 * 5 * 7 = 105を返す必要があります。
再帰の仕組みを知っています。
あなたの関数multiplyOdds(n)
は、最初にn
の奇数を乗算する必要がありますか? n番目の奇数が2 * n - 1
に等しいとすれば、以下のような再帰的解をHaskellで簡単に書くことができます。
multiplyOdds :: Int -> Int
multiplyOdds n = multiplyOddsTail n 1
multiplyOddsTail :: Int -> Int -> Int
multiplyOddsTail n acc = case n of
1 -> acc
n -> multiplyOddsTail (n - 1) (acc * (n * 2 - 1))