У меня есть тип данных person, у которого есть имя, и его вес выглядит следующим образом.
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
...... так далее