我得到了一个有名字的人数据类型,他们的体重如下所示。
data Person = Person
{pName :: String,
pWeight :: Double} deriving (Show)
persons :: [Person]
persons = [Person "Peter" 35.0,
Person "Joe" 45.0,
Person "Alex" 55.0,
Person "Ruby" 60.0,
Person "John" 65.0,
Person "Ann" 35.0]
Q1如果我想过滤并从给定人员列表中获取第一个子集,即他们的最大权重总和小于给定值怎么办?
例如,如果最大权重为 150.0,则输出
人“彼得”35.0
人“乔”45.0
人“亚历克斯”55.0
总重量:135.0
Q2如果我想获取设置的最大权重的所有子集
例如,如果最大权重为 100.0,则输出
设置 1
人“彼得”35.0 人“乔”45.0
总重量:80.0
设置 2
人“亚历克斯”55.0
总重量:55.0
设置3 ……以此类推