我正在尝试使用递归检查数字是否为素数。我被要求使用递归辅助函数,但我不确定应该如何实现它。
我想我知道算法,但我从未尝试在 Racket 中使用递归辅助函数。这是我目前的想法:
- 看看 n 是否可以被整除
i = 2
- 放
i = i + 1
- 如果
i^2 <= n
继续。 - 如果没有
i
均分的值n
,那么它一定是素数。
这是我目前所拥有的......
(define (is_prime n)
(if (<= n 1)
#f
(if (= (modulo n 2) 0)
#f
)
使用递归辅助函数的好方法是什么?
谢谢!