我正在努力实施Sundaram 的筛子。
第一步是获取一个整数列表,这样:
i, j 是自然数,1 <= i <= j
i + j + 2*i*j <= n
这是我的功能。它应该生成(i, j)
符合上述限制的所有 's 的元组列表。
numsToRemove :: Integer -> [(Integer, Integer)]
numsToRemove n = [ (i, j) | i <- [1..n], j <- [1..n], i <= j, i >= 1, j >= 1,
i * j + 2*i*j <= n]
但是我的回答中没有得到非质数。排除我的其他工作,我认为我在生成这个整数列表时犯了一个错误。
请让我知道我做错了什么。