私は現在、私が持っているhaskellコースの小規模な練習問題に取り組んでいます。それは次のように尋ねる:intリストのリストの二乗和を返す関数haskellを作成しますか?
は、パラメータとしてintのリストのリストを取りsumSquareMaxと呼ばれるHaskellの関数を記述し、 は、各サブリストの最大値を検出し、合計にそれらの最大値の二乗を返します。
私はwin hugsコンパイラで個々のコード行を使用してそれを行う方法を理解しましたが、実際にパラメータを持つ単純な関数にしたいと考えています。だから、
sumSquaresMax :: [[Int]] -> Int
sumSquaresMax x
let maxes = map maximum x
let squares = map (^2) maxes
let finalSum = sum squares
私が最初sumSquaresMax [[4,2,5],[6,2],[2],[-6,4,1]]
を実行した場合、それはリストの最大値をマッピングします::[5,6,2,4]
は、その後、それはこれらの数字のそれぞれを二乗し、その後につながる正方形を合計う、次のように私はこれまで持っていることです私の答え。
「印刷」についてはどうすればいいですかfinalSum
?これが正しいとは限りませんが、ここからどこに行くのかは完全にはわかりません。どんな助けでも大歓迎です!
"win hugsコンパイラで個々のコード行を使って行う方法を理解しました" - Hugsは何年も維持されていないので、GHC/GHCiに切り替えることをお勧めします。 – bheklilr
@bheklilr私たちは彼がおそらくここに選択肢がないことを知っています;) – Carsten
関連:http://stackoverflow.com/questions/27407773/sum-of-squares-using-haskell – Jubobs