파이썬 3 , 78 77 75 70 68 62 바이트
f=lambda n,k=3,m=1,j=0:k<n and-m%k*j*2/k+f(n,k+2,m*k**4,m%k/k)
2 4 바이트 를 골라 내고 4 개 더 길을 포장 한 @xnor에게 감사합니다 !
온라인으로 사용해보십시오!
배경
리콜이 윌슨의 정리 된 상태 모든 정수의 K> 1 ,
여기서 ≡의 B (MOD d)는 것을 의미 A - B는 균등하게 나눌 D 즉, 와 b를 나눈 경우에 동일한 잔기가 D .
에서 , 두 번 하이퍼, 하위 및 슈퍼 계승에 대한 윌슨 정리 (theorem) , 저자는이 답변 빌드하는 이중 계승에 대한 일반화를 증명한다. 정수 k ≥ 0 의 이중 계승 은 다음과 같이 정의됩니다.
전술 한 논문의 정리 4는 다음을 기술한다.
합동의 양쪽을 제 4의 힘으로 높이면, 우리는
모든 홀수 소수 p . 1 부터 ! = 1 이면 동등성은 p = 2 도 보유 합니다.
이제 윌슨의 정리와 똑같이하면
이후
그것은 다음과 같습니다
p 가 소수 일 때마다
이제 k를 홀수, 양의 복합 정수로 하자 . 정의에 의해, 정수에게 존재 A, B> 1 이되도록 K = AB를 .
이후 K가 홀수이기 때문에,이다 와 B를 . 따라서 둘 다 시퀀스 1, 3,…, k-2에서 발생 하며
어디 | 분할 성을 나타냅니다.
모든 홀수 정수 k> 1
여기서, P (k)는 (1) = 경우 K는 소수이고, P (k)는 = 0 인 경우 , k는 복합체이다.
작동 원리
함수 f 가 단일 인수로 호출되면 k , m 및 j 는 3 , 1 및 0 으로 초기화됩니다 .
주의 ((K - 2)!) 4 = 1! 4 = 1 = m 입니다. 실제로, 평등 m = ((k-2) !!) 4 는 항상 유지됩니다. j 는 실수 이며 항상 ((k-4) !!) 4 % (k-2) / (k-2)와 같습니다 .
k <n 동안 올바른 인수 and
가 평가됩니다. 사람 J = ((K - 4)!) 4 % (K - 2) / (K - 2) 첫 번째 단락 입증으로서, J = 1 / (K - 2) 만약 K - 2 프라임이고 J 그렇지 않으면 = 0 입니다. 마찬가지로, 이후 m의 %의 K = ((K - 2)!) 4 같음 1 경우 K는 소수이고 0 이 아닌 경우 -m % K = K - 1 경우 K는 소수 및 -m % K = 0 이 아니라면. 따라서, -m%k*j*2/k
평가 2 (K - 1) / (K (K - 2)) = ((K - 2) + K) / (K (K - 2)) = 1 / K + 1 / (k는 - 2) 쌍이면 (k-2, k)트윈 소수로 구성되며 그렇지 않은 경우 0으로 구성됩니다 .
위를 계산 한 후 재귀 호출의 반환 값에 결과를 추가합니다 f(n,k+2,m*k**4,m%k/k)
. k 는 2 씩 증가 하므로 홀수 값만 취합니다. ‡ mk 4 = ((k-2) !!) 4 k 4 = (k !!) 4 이므로 m 에 k 4를 곱하고 현재 값을 전달합니다. m % k / k – "old" k 가 소수 이면 1 / k 와 같고 그렇지 않으면 0 – 함수 호출에 대한 매개 변수 j .
마지막으로 k 가 n 이상 이면 f 는 False 를 반환 하고 재귀는 중지됩니다. 반환 값 F (N)을 모두 합한 것이다 - 1 / K + 1 / (2 K) 등의 (K - 2, K) 트윈 프라임 쌍이고 K <N 원하는가.
‡ 로부터의 결과 배경 홀수 정수의 단락 보류. 정수조차도 쌍 소수가 될 수 없으므로 안전하게 건너 뛸 수 있습니다.