球拍 - 在某些限制下创建地板功能

时间:2014-09-12 04:22:26

标签: scheme racket

我一直坚持尝试使用以下约束创建一个floor函数:

我只允许在本页的第1.5节中使用以下功能:http://docs.racket-lang.org/htdp-langs/beginner.html

但是你不能使用地板,圆形,天花板和sgn功能。除此之外,您还无法使用递归,cond,列表甚至辅助函数。

注意:仅使用初学者学生文档

1 个答案:

答案 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-onesubtract-one