gpt4 book ai didi

haskell - 列表推导式的参数取自 Haskell 中的同一列表

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

我有一个关于 Haskell 中列表推导式的问题。

我本周晚些时候有一次考试,因此做了一些旧考试,我发现了这个问题:

“编写一个函数,给定正整数 n,返回正整数 m ≤ n 的列表,其中有两个正整数 x 和 y,使得 x^2 + y^3 = m。该列表需要为已排序”

有两个可能的答案,要么

squareCube::Int->[Int]
squareCube n =[a|a<-[1..n],x<-[1..n],y<-[1..n],x^2+y^3==a]

import Data.List
squareCube::Int->[Int]
squareCube n =
sort [a|x<-[1..n],y<-[1..n],a<-[1..n],x^2+y^3==a]

我想知道为什么在我的理解中,当 a 出现在 x 和 y 之后时,我需要使用排序函数。为什么参数之间的顺序很重要?

最佳答案

此列表已排序:

    [ 1, 1, 1
, 2, 2, 2
, 3, 3, 3
, 4, 4, 4 ]

这不是:

    [ 1, 2, 3, 4
, 1, 2, 3, 4
, 1, 2, 3, 4 ]

关于haskell - 列表推导式的参数取自 Haskell 中的同一列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48173004/

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