我一直坚持尝试使用以下约束创建一个floor函数:
我只允许在本页的第1.5节中使用以下功能:http://docs.racket-lang.org/htdp-langs/beginner.html。
但是你不能使用地板,圆形,天花板和sgn功能。除此之外,您还无法使用递归,cond,列表甚至辅助函数。
注意:仅使用初学者学生文档
答案 0 :(得分:-1)
这是一个让你入门的提示:
floor(x) = 0 if 0 <=x < 1
floor(x) = 1+floor(x-1) if x>1
在Scheme表示法中:
(define (myfloor x)
(cond
[(below-one? x) 0]
[else (add-one (myfloor (subtract-one x)))]))
您需要做的就是弄清楚如何撰写below-one
和subtract-one
。