首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用尾递归法计算方案中的数是否为偶数或奇数

用尾递归法计算方案中的数是否为偶数或奇数
EN

Stack Overflow用户
提问于 2014-12-04 23:48:04
回答 1查看 710关注 0票数 1

我在scheme48中使用以下函数来计算一个数字是偶数还是奇数。

代码语言:javascript
复制
(define (odds? x)
    (if (= x 0) #f
        ((evens? (- x 1))
        )))

(define (evens? x)
    (if (= x 0) #t
        ((odds? (- x 1))
        )))

但是,在这样做后,我会收到以下错误:

错误:尝试调用非过程(#t)

如果有人能解释这个错误到底意味着什么,以及如何修复它,我将不胜感激。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-12-04 23:50:50

围绕最后一个函数调用有几个错误的(),格式可以改进。请记住,在Scheme中,一对()的意思是“函数应用程序”(这说明了错误消息attempt to call a non-procedure),所以您必须小心放置它们。试一试:

代码语言:javascript
复制
(define (odds? x)
    (if (= x 0)
        #f
        (evens? (- x 1))))

(define (evens? x)
    (if (= x 0)
        #t
        (odds? (- x 1))))
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27306367

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档