【发布时间】:2015-08-29 05:36:43
【问题描述】:
我是 Scheme 的新手,正在尝试编写一个示例 FizzBuzz 函数。以下是规则:
- 如果一个数字可以被 3 和 5 整除,请改为“fizzbuzz”
- 如果一个数字可以被 3 整除,则改为“fizz”
- 如果一个数字可以被 5 整除,则改为“buzz”
- 否则请说出号码。
这是我的代码:
(define (fizzbuzz n)
(print (fizzbuzz1 1 n)))
;; Helper function for fizzbuzz
(define (fizzbuzz1 i n)
(cond [(and (= 0 (modulo i 3)) (= 0 (modulo i 5)))
" fizzbuzz "]
[(= 0 (modulo i 3))
" fizz "]
[(= 0 (modulo i 5))
" buzz "]
(i))
(cond [(< i n) (fizzbuzz1 (+ 1 i) n)]))
(fizzbuzz 21)
但它显示的只是“21”(来自测试用例)。有人可以帮帮我吗?
编辑:稍微修正了我的代码并更新了它,但现在我得到的是#<void> 打印出来。
【问题讨论】: