소개
n
반대로 추가하고 추가하는 것은 소리처럼 간단합니다 . (예 : 234 + 432 = 666).
이 프로세스를 반복해서 적용하면 일부 숫자는 결국 소수에 도달하고 일부는 절대 소수에 도달하지 않습니다.
예
나는 현재
11431 담당자
11431 is not prime
11431 + 13411 = 24842 which is not prime
24842 + 24842 = 49684 which is not prime
49684 + 48694 = 98378 which is not prime
98378 + 87389 = 185767 which is prime!
이 숫자는 소수입니다
반대로 3의 배수는 소수에 해당하지 않습니다. 3의 모든 배수에는 3의 배수가 3의 배수이고 그 반대도 마찬가지이기 때문입니다. 따라서 3의 배수를 거꾸로 더하면 항상 새로운 3의 배수가되어 소수가되지 않습니다.
태스크
양의 정수를 n
취하고 반복적으로 반전하고 더하는 것이 소수인지 확인하십시오. 진실 또는 허위 값을 출력합니다. 에 대한 진실은 프라임 및 허위 가치에 도달하지 못하거나 다른 방법으로 허용됩니다.
소수는 0 반복에서 소수에 도달하는 것으로 간주됩니다.
이것은 코드 골프 이므로 가능한 한 코드를 짧게 만드십시오.
테스트 사례
소수에 도달하면 절대 소수에 도달하지 않습니다.
11 -> True
11431 -> True
13201 -> True
13360 -> True
13450 -> True
1019410 -> True
1019510 -> True
22 -> False
1431 -> False
15621 -> False
14641 -> False
힌트
이 과제를 작성하는 동안이 문제를 쉽게 처리 할 수있는 멋진 트릭을 발견했습니다. 이 트릭이 없으면 불가능하지 않으며 그다지 쉽지는 않지만 도움이됩니다. 나는 이것을 발견하는 것을 많이 즐겼으므로 스포일러 아래에 두겠습니다.
역 반복 및 더하기 반복은 항상 6 번의 반복에서 11의 배수에 도달합니다. 소수에 11을 곱하기 전에 소수에 도달하지 않으면 소수에 도달하지 않습니다.