약한 프라임입니까? 경우 (예 : weak및 not weak)

가장 가까운 다른 소수가 소수보다 작 으면 소수가 약합니다. 동점이 있다면 소수는 약하지 않습니다.

예를 들어 , 71 은 소수이지만 75 는 복합 이므로 73 은 약한 소수 입니다.

태스크

입력 값이 2 보다 큰 소수 를 입력하면 이것이 약한 소수인지 결정 하는 컴퓨터 코드를 작성하십시오 . 이는 표준 이므로 두 경우 (예 : weaknot weak) 각각에 대해 두 개의 고유 한 값을 출력해야합니다 .

이것은 이므로 태그의 표준 규칙이 적용됩니다.

OEIS

첫 번째 약한 소수는 다음과 같습니다.

3, 7, 13, 19, 23, 31, 43, 47, 61, 73, 83, 89, 103, 109, 113, 131, 139, 151, 167, 181, 193, 199, 229, 233, 241, 271, 283, 293, 313, 317, 337, 349, 353, 359, 383, 389, 401, 409, 421, 433, 443, 449, 463, 467, 491, 503, 509, 523, 547, 571, 577, 601, 619, 643, 647

다음은 약한 소수에 대한 OEIS입니다 (반환해야 함 weak) OEIS A051635

균형 소수에 대한 OEIS는 다음과 같습니다 (반환해야 함 not weak) OEIS A006562

다음은 강력한 소수에 대한 OEIS입니다 (반환해야 함 not weak) OEIS A051634



답변

젤리 , 7 바이트

Æn+Æp>Ḥ

온라인으로 사용해보십시오!

설명

           See if
Æn         the next prime
  +Æp      plus the previous prime
     >Ḥ    is greater than 2n

보너스, 변경 등 >으로 =또는 <각각 평형 강한 소수에 대해 검사한다.


답변

Mathematica, 24 바이트

n=NextPrime;2#+n@-#<n@#&

NextPrime내장 (AB는?) 그것을 부정적인 인수를 공급함으로써 이전의 소수를 계산하는 데 사용할 수 있습니다.


답변

젤리 , 9 바이트

ḤÆRạÞ⁸ḊḢ>

반환 1약하고 대한 0(반품 약한하지 않거나 균형 1의 입력 2)

온라인으로 사용해보십시오!

방법?

ḤÆRạÞ⁸ḊḢ> - Link: prime number > 2, p
Ḥ         - double -> 2*p
 ÆR       - yield primes between 2 and 2*p inclusive
     ⁸    - chain's left argument, p
    Þ     - sort by:
   ạ      -   absolute difference (i.e. distance from p)
      Ḋ   - dequeue (removes p from the list, since it has distance zero)
       Ḣ  - head (gives us the nearest, if two the smallest of the two)
        > - greater than p?


답변

PHP , 69 바이트

약한 소수를 위해 하나를 인쇄하고 약한 소수를 위해 아무것도 인쇄하지 않습니다

for(;!$t;$t=$d<2)for($n=$d=$argn+$i=-$i+$w^=1;$n%--$d;);echo$n<$argn;

온라인으로 사용해보십시오!


답변

옥타브, 93 84 바이트

바이트를 절약 해 준 @LuisMendo와 @ rahnema1에게 감사합니다!

function r=f(x);i=j=x;do--i;until(i<1|isprime(i));do++j;until(isprime(j));r=x-i<j-x;

온라인으로 사용해보십시오!


답변

Maxima, 42 바이트

f(n):=is(n-prev_prime(n)<next_prime(n)-n);

온라인으로 사용해보십시오!


답변

MATL , 13 바이트

qZq0)G_Yq+GE>

그렇지 않으면 1약한 경우 출력 합니다 0.

온라인으로 사용해보십시오!

설명

q      % Implicit input, Subtract 1
Zq     % Vector of primes up to that
0)     % Get last one
G      % Push input again
_Yq    % Next prime
+      % Add
G      % Push input
E      % Multiply by 2
>      % Greater than? Implicit display