1번째는 0123456789
9!+1번째는 1023456789
9!*2+1번째는 2013456789
그럼 제일 앞에 2를 고정하고, 9개의 숫자로 permutation을 만들었을 때 100만 - 9!*2 번째 숫자를 찾는 문제로 바뀐다.
코드로 표현하면,
오일러 프로젝트 projecteuler.net 의 문제들을 풀고 설명하는 스터디 공간입니다. 조언, 부연, 비판, 질문 환영합니다.
factorial = {1:1} for i in range(2,10): factorial[i] = i*factorial[i-1] answer = '' d = range(10) N = 1000000-1 for i in range(9,0,-1): answer += str(d.pop(N / factorial[i])) N %= factorial[i] print answer + str(d[0])
No comments:
Post a Comment