본문 바로가기

오일러프로젝트

[오일러프로젝트] 35번문제


소수 중에서 각 자리의 숫자들을 순환시켜도 여전히 소수인 것을 circular prime이라고 합니다. 예를 들어 197은 971, 719가 모두 소수이므로 여기에 해당합니다.

이런 소수는 100 밑으로 2, 3, 5, 7, 11, 13, 17, 31, 37, 71, 73, 79, 97 처럼 13개가 있습니다.

그러면 1,000,000 밑으로는 모두 몇 개나 있을까요?



처음에는 순열을 생각하고 순열을 생성했는데 답이 틀려서 문제를 좀 더 자세히 읽어보니
shift인것... 파이썬과 루비는 pop 메서드가 지원되어서 그걸 사용하였고
펄은 pop과 함께 unshift를 사용하여 순환수를 생성하였음...

펄에서 join 메서드 파라메터 잘못써서 디버깅에 몇 시간 투자한건..뭐..--; 내가 이거 때문에 어제 이 문제를 다 못 풀고 잤더랬지...
우선 2와 0이 들은 것은 순환수가 모두 소수가 되는 것은 불가능해서 제외.. 답 스레드를 보니 5나 기타 몇개도 추가로 제외가 가능한듯..
 

Python

Ruby
Perl