我必须使用 DrRacket 来解决这个问题,但每次运行代码时,我都会收到此错误消息“gcd:此名称是以前定义的,无法重新定义”。(我也在 DrRacket 中选择了 Advanced student [custom] 的语言。下面是我的代码,它是一个递归函数来找到最大公约数:
(define (gcd n m)
(cond [(= m 0) n]
[else (gcd m (modulo n m))]))
(check-expect (gcd 0) 0)
(check-expect (gcd 12 8) 4)
(check-expect (gcd 6 12 8) 2)