gpt4 book ai didi

recursion - Clojure Koans 递归是偶数?

转载 作者:行者123 更新时间:2023-12-03 22:21:55 26 4
gpt4 key购买 nike

我正在通过 Clojure Koans 工作,我正在处理递归 koans。

不明白怎么解决is-even?使用递归。练习部分地将此功能定义为:

(defn is-even? [n]
(if (= n 0)
true
(__ (is-even? (dec n)))))

如果我不想使用递归,那么我会将其定义为 (defn is-even? [n] (= (mod n 2) 0))但这与练习的目的背道而驰。

最佳答案

就像 amalloy 所说的,用“不”填空。但是如果您假设参数只能为 0 或正数,则不需要另一个基本情况:dec确保你总是以 0 结束,奇数返回 false,如下所示:

(is-even? 0) ==> base case (= 0 0) ==> true.
(is-even? 1) ==> (not (is-even? (dec 1))
==> (not (is-even? 0))
==> (not true)
==> false
(is-even? 2) ==> (not (is-even? 1))
==> (not false)
==> true

等等。

关于recursion - Clojure Koans 递归是偶数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5853726/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com