gpt4 book ai didi

list - 在 Scheme 中生成一个倍数列表

转载 作者:行者123 更新时间:2023-12-01 12:31:57 25 4
gpt4 key购买 nike

如果我有一个包含 n 个数字的列表,并且想要生成一个新列表,那么只生成同列表中任何其他数字的倍数的数字。

例如,对于此列表:'(2 4 5 7 10) 结果应为列表 '(4 10)

最佳答案

如果我们把问题分成几个部分会更容易。首先,让我们定义对我们来说是一个倍数意味着什么,并编写一个实现我们的定义的过程:

(define (is-multiple? num x)
(and (not (= num x))
(zero? (modulo num x))))

现在,让我们应用现有过程来迭代我们的输入并找到答案:

(define (only-multiples lst)
(filter (lambda (num)
(ormap (curry is-multiple? num) lst))
lst))

它按预期工作:

(only-multiples '(2 4 5 7 10))
=> '(4 10)

关于list - 在 Scheme 中生成一个倍数列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32400925/

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