読者です 読者をやめる 読者になる 読者になる

mu chance or much chance ?

日々の戯れ言

Project Euler 24

Project Euler

Problem24を解き直しました.

  • Lexicographic permutations

A permutation is an ordered arrangement of objects. For example, 3124 is one possible permutation of the digits 1, 2, 3 and 4. If all of the permutations are listed numerically or alphabetically, we call it lexicographic order. The lexicographic permutations of 0, 1 and 2 are:

012 021 102 120 201 210

What is the millionth lexicographic permutation of the digits 0, 1, 2, 3, 4, 5, 6, 7, 8 and 9?

https://projecteuler.net/problem=24

問題は「0〜9の整数を辞書式に並べたときに100万番目の文字列を求めよ」.

num = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
p num.permutation.to_a[999999].join

Rubyのpermutationを使えば楽でした.
C言語で解いた時は,数学的に解きました.
後日その方法を載せる予定です.