
내 멋대로 코딩 풀이
[C/C++] BOJ 문제번호 4673 셀프 넘버
이 문제를 접근할 때, 소수를 구하는 문제가 생각났다. 소수를 구하는 경우 에라토스테네스의 체 방식을 사용했었는데 그것을 응용해보았다. 에라토스테네스의 체란, 고대 그리스 수학자 에라토스테네스가 발견한 방식으로, 2부터 소수를 구하고자 하는 구간의 모든 수를 나열한다. 가장 첫번째로 2는 소수이므로 2를 저장한다. 그리고 나서 2를 제외한 모든 2의 배수를 지워나간다. 마찬가지로 3은 지워지지 않은 숫자로 소수이다. 3을 저장한 후 2와 같은 방법으로 3의 배수를 모두 지워나간다. 이렇게 지워지지 않은 수를 저장하고 본인을 제외한 본인의 배수들을 지워나게 되면 소수를 구할 수 있다. 이 방식을 코드화 하면, 구하고자 하는 구간의 수만큼의 배열을 bool형으로 만든다. 예를 들어, 100까지 구간의 수 중..