gpt4 book ai didi

racket - 返回一个数的奇数之和

转载 作者:行者123 更新时间:2023-12-01 15:07:40 24 4
gpt4 key购买 nike

对于类,我必须编写一个函数,它接受正整数 n 并返回方案中 n 的奇数位之和。到目前为止,我的基本情况是,如果 n 等于 0,则为 0。但我不确定如何继续。

(define sumOddDigits
(lambda (n)
(if (= n 0)
0

测试用例:
(sumOddDigits 0) → 0
(sumOddDigits 4) → 0
(sumOddDigits 3) → 3
(sumOddDigits 1984) → 10

最佳答案

您可以使用一个功能循环有效地完成它:

(define (sumOddDigits n)
(let loop ([n n])
(cond [(zero? n) 0]
[else
(let-values ([(q r) (quotient/remainder n 10)])
(+ (if (odd? r) r 0)
(loop q)))])))

关于racket - 返回一个数的奇数之和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40229379/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com