所以在我的函数中,我需要对范围a到b之间的所有数字求平方。
这是我的代码:
(define (square x)
(* x x))
(define (consecutive-squares a b)
(if (> a b)
'()
(map square (consecutive-ints(+ a 1)b))))
运行(consecutive-squares 1 10)
的测试时,它输出(4 9 16 25 36 49 64 81 100)
,它完全丢失了1
范围内的第一个数字。要通过示例测试,需要哪个
答案 0 :(得分:0)
consecutive-ints
函数知道如何将每个值加1以获得范围内的下一个值,调用时无需这样做。我也希望它能处理一个空范围,因此您不需要自己检查。
(define (consecutive-squares a b)
(map square (consecutive-ints a b))