본문 바로가기
반응형

순열2

프로젝트 오일러 #62 세제곱수 순열 이번 문제는 난이도 15% 문제네요. 저는 의외로 쉽게 풀었습니다. (단순무식법으로요.) 서로 다른 세제곱수 5개가 같은 숫자들로 이루어진 경우 그 중 가장 작은 수를 구하라는 문제입니다. 사실 이 문제를 정석적으로 푼다면, 정확하게 5개가 나오는지 검사해야 하지만, 저는 그것까지는 검사하지 않았습니다. 또한 같은 숫자가 4개 이상 나오는 것도 배제했습니다. 사실 그러면 안 되지만, 배열에다가 데이터를 저장하는 방식을 이용하다보니, 같은 숫자가 4개 이상 나오면 안 되어서요. 해시를 쓰면 좀 더 나으려나요. 그러면 자릿수가 6자리인것, 7자리인것, .. 형태로 정확하게 5개가 나오면서, 같은 숫자가 4개 이상 나오는 것도 허용할 수 있었을텐데요. 그치만 복잡한 자료구조 쓰는 것을 귀찮아해서요. (아무래도.. 2016. 6. 20.
24. 프로젝트 오일러 #24 : 백만번째 순열 수 구하기 우리가 진법을 계산할 때, 과연 어떻게 할까요? 예를 들어서 723 을 8진법으로 계산한다면요? 이 계산을 위해서 우리는 나누기 연산을 계속 하게 됩니다. 중학교 수학을 들추어 보면 보통 다음과 같이 계산을 합니다. 으로 723은 8진수로 으로 표시가 됩니다. 이것을 수식으로 표현하면 다음과 같이 표현할 수 있습니다. 이야기는 우리는 8의 3승부터 차례로 나누어 나가서 몫만 챙겨도 똑같이 위와 같은 결론에 도달할 수 있다는 것을 의미합니다. 그런데, 순열은 다른 것이 아닌가요? 순열은 한번 사용된 글자는 사용할 수 없다는 것만 빼고는 위와 같습니다. 그런 이유 때문에, 진법계산을 할 때, 1의 자릿수부터 계산하는 것이 가능한 반면, 순열은 그렇지 못 합니다. 반드시 가장 큰 자리부터 계산해야 합니다. 예.. 2015. 1. 27.
728x90