검색했지만 도움이되는 내용을 찾지 못해 새로운 질문을 게시합니다. 나는 하스켈을 배우고 있는데, 이것은 내가 이해하지 못하는 운동이다.목록 이해가있는 소수의 튜플 생성 각 튜플의 합이 더 많음
무한한 소수의 튜플 목록을 만들려고합니다. 각 튜플의 합은 2로 시작하는 상위 짝수입니다. 따라서 출력은 예를 들어. : [(0,2), (2,2), (3,3), (3,5)...
목록 재검토만으로 재귀를 수행하고 싶습니다. 문제는 각 튜플의 합이 더 커야한다는 것입니다. 난 내 자신의 primetest 기능 prim
을 정의하고, 같은 시작 :
goldbachList :: [(Int, Int)]
goldbachList = [(a,b) | b <- [1 ..], a <- [0 .. b], prim a || a == 0, prim b, a+b >= 2, even (a+b)]
하지만 분명이 내가 가지고 싶은 것보다 훨씬 더 튜플과 무한 목록을 만듭니다. 조건을 포함시킬 가능성이 있습니까? 모든 튜플은 목록 이해도 내에서 이전 튜플과 비교하여 다음 짝수를 합해야합니다.
기술적으로 0은 소수가 아닙니다. 사실 [Goldbach의 추측] (http://en.wikipedia.org/wiki/Goldbach%27s_conjecture "Goldbach의 추측을위한 Wikipedia 기사")에 따르면 모든 짝수 * 2 *는 두 소수의 합으로 쓸 수 있다고 나와 있습니다 . – Bakuriu