gpt4 book ai didi

haskell - 需要对欧拉项目问题的提示

转载 作者:行者123 更新时间:2023-12-02 02:51:17 25 4
gpt4 key购买 nike

能被 1 到 20 的所有数整除的最小正数是多少?

我可以很容易地用循环的命令式编程语言暴力破解解决方案。但我想在 Haskell 中做到这一点,没有循环会使它变得更加困难。我正在考虑做这样的事情:

[n | n <- [1..], d <- [1..20], n `mod` d == 0] !! 0

但我知道这行不通,因为“d”将使条件在 d = 1 时等于 True。我需要提示如何使 n mod d 是为 [1..20] 计算的,可以验证所有 20 个数字。

再次,请不要给我一个解决方案。谢谢。

最佳答案

与许多欧拉计划问题一样,这至少与数学和编程一样多。

您正在寻找的是一组数字的最小公倍数,这些数字恰好位于从 1 开始的序列中。

函数式语言中一种可能的策略是试图根据找出可被所有 [1..n] 整除的最小数之间的关系使其递归。以及能被[1..n+1]整除的最小数.使用一些小于 20 的数字来玩这个游戏,并尝试理解数学关系或辨别模式。

关于haskell - 需要对欧拉项目问题的提示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6619638/

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