素因数が2、3、5、ハミング数だけの数のリストを定義する必要があります。(つまり、2 ^ i * 3 ^ j * 5 ^ kの形式の番号。シーケンスは1、2、3、4、5、6、8、9、10、12、15、…で始まります)
factors
関数を使用して、またはそれ以外の方法でそれを行うことができます。factors
以下は、その引数の要素を返す必要があります。正しく実装できたと思います。
factors :: Int -> [Int]
factors n = [x | x <- [1..(div n 2) ++ n], mod n x == 0]
リスト内包表記を使用して2^i * 3 ^ j * 5 ^ kのリストを作成しようとしましたが、ガードの記述に行き詰まりました。
hamming :: [Int]
hamming = [n | n <- [1..], „where n is a member of helper“]
helper :: [Int]
helper = [2^i * 3^j * 5^k | i <- [0..], j <- [0..], k <- [0..]]