반응형 프로젝트 오일러 #321 32. 프로젝트 오일러 #32 : 팬디지털 곱 32번 문제는 어려움 정도가 5%라 상당히 난이도가 낮은 문제네요. 이 문제는 일단 다음과 같은 접근을 생각했습니다. 어떤 수 n이 있습니다. 이 수에 대한 약수를 구합니다. 그러면 두 수를 구할 수 있겠죠. 그러면 이 수에 대해서 팬디지털인지 검사하면 됩니다. 두 수를 먼저 만든 후 곱하는 것보다는 하나의 수에 대해서 인수분해를 하는 것이 복잡도가 덜하겠다는 생각이 들더라고요. 팬디지털을 검사하는 로직은 일단 간단하게 했습니다. 사실 이 부분이 제일 핵심이기도 하고요. 팬디지털은 비트플래그를 이용합니다. 비트플래그에 중복이 생기면 팬디지털이 아닌 것이 되고요. 모두 다 체크되었다면 완벽하게 팬디지털이 되겠죠. 팬디지털인지 검사하기 위해서 검사하는 로직은 다음과 같습니다.첨부된 소스는 참고용으로만 봐주세.. 2015. 4. 13. 이전 1 다음 728x90