LoginSignup
0
0

More than 3 years have passed since last update.

project euler 24

Posted at

意外とめんどくさかったが、なんとかワンライナー。

順列とはモノの順番付きの並びのことである.
たとえば, 3124は数 1, 2, 3, 4 の一つの順列である.
すべての順列を数の大小でまたは辞書式に並べたものを辞書順と呼ぶ.
0と1と2の順列を辞書順に並べると

012 021 102 120 201 210
になる.

0,1,2,3,4,5,6,7,8,9からなる順列を辞書式に並べたときの100万番目はいくつか?

(n=>((arr=[...Array(n).keys()])=>
  (f=(r,v=[])=>(r.length==1)?[[r[0]]]:[r.forEach(a=>f(r.filter(e=>e!=a)).forEach(e=>v.push([a, ...e]))), v][1])(arr)
[1000000-1]
.join("") // 2783915460
)())(10)
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0