gpt4 book ai didi

scheme - 计算 Racket BSL 中给定数字的适当除数之和

转载 作者:太空宇宙 更新时间:2023-11-03 18:54:18 24 4
gpt4 key购买 nike

设计一个名为 findProperDivisor 的 Racket 函数,它接受一个自然数并计算其所有适当除数的总和。自然数的真约数是严格小于该数的约数。

例子:

输入:20

输出:22

//适当的约数:1 + 2 + 4 + 5 + 10 = 22

(define (sum-of-proper-divisors n i)
(cond [(= i 1) 1]
[(= (remainder n i) 0)
(+ i (sum-of-proper-divisors n (sub1 i)))]
[else (sum-of-proper-divisors n (sub1 i))]))

我在这个页面上找到了这个代码,但它给了我 1+2+4+5+10+20=42 我需要 22

我想通过使用递归和cond 用一个参数编写这段代码。我使用的是初级学生语言 (BSL),它没有定义 let 之类的东西。

最佳答案

第 1 步:了解代码的作用。为什么会有一个额外的参数?它发生了什么?

第 2 步:如何调用它?这对 i 意味着什么?

第 3 步:您必须采取哪些不同的操作才能不根据数字本身检查余数?

关于scheme - 计算 Racket BSL 中给定数字的适当除数之和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53191186/

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