【发布时间】:2019-10-27 08:55:42
【问题描述】:
我正在编写一个函数最大素数,它消耗两个自然数并产生从下到上范围内的最大素数。 我使用了辅助功能是素数?检查数字是否为素数。
下面是我的代码:
(define (largest-prime bottom top)
(cond
[(and (>= top bottom)(equal? true (is-prime? top))) top]
[(and (< top bottom) (equal? true (is-prime? top))) false]
[else (largest-prime (sub1 top) bottom)]))
这个功能似乎只适用于某些情况:
> (largest-prime 12 19)
19
> (largest-prime 12 18)
17
> (largest-prime 12 16)
false
谁能告诉我哪里做错了?
【问题讨论】:
标签: racket