문제의 내용은 프로젝트 오일러에서 퍼온것임을 밝혀 드립니다. 이 문제는 손으로 푼다기 보다는 프로그래머에게 기초~ 중~ 고급 엔진 코딩을 위하여 도움이 될 것이라는 생각으로 게시하게 되었음을 말씀 드립니다. 문제를 코드로 풀 경우 일반적으로 1분 이내에 결과가 나오게끔 문제의 결과(코드)보다는 그 과정 알고리즘에 관하여 토의를 하였으면 하는 바램으로 게재 합니다.
이 전의 문제 까지 다 풀었다면 입문 수준의 문제를 다 풀 수준이 되면 지금부터는 초급 수준의 문제가 되겠습니다.
--- 여기부터 문제 --- 1번 Permutation(순열)은 정렬된 배열이다. 예를 들자면 3124는 1,2,3,4로 구성된 수들 중 하나일 수 있다. 모든 순열이 숫자나 문자로 나열된다면 우리는 그것을 Lexicographic order라고 부른다. 0, 1, 2 로 구성된 Lexicographic permutation은 아래와 같이 나타낼 수 있다. 012 021 102 120 201 210 그렇다면 0, 1, 2, 3, 4, 5, 6, 7, 8, 9로 구성된 순열이 있을때 100만 번째 수는 무엇이겠느냐?
2번 a^b 이 있을때 2 ≤ a ≤ 5 and 2 ≤ b ≤ 5 이라면 아래와 같다. 2^2=4, 2^3=8, 2^4=16, 2^5=32 3^2=9, 3^3=27, 3^4=81, 3^5=243 4^2=16, 4^3=64, 4^4=256, 4^5=1024 5^2=25, 5^3=125, 5^4=625, 5^5=3125
위 결과를 오름차순으로 정렬한다면 아래와 같은 15개의 결과를 얻을 수 있다. 4, 8, 9, 16, 25, 27, 32, 64, 81, 125, 243, 256, 625, 1024, 3125 (2^4 = 4^2) 그렇다면 a^b 중 2 ≤ a ≤ 100 and 2 ≤ b ≤ 100 에 대하여 몇가지 결과가 나올 수 있을까?
1번 문제는 permutation을 만드는 방법에 대한 문제가 되겠습니다. 2번 문제는 집합(Set)과 관련된 문제가 되겠습니다.
결과는 먼저 공개 하도록 하겠습니다. 1번 문제는 2783915460 2번 문제는 9183