|
「数学」小旅行 |
|
例によって、プログラムもしてみました。Rubyです。再帰です。
Xの次にはXかZを、Yの次にはYかZを、Zの次にはXかYかZを 付けていって、5個並んだら終わりでカウントします。 $n=0 def m(y,r) if r<5 then case y when 'X' then for i in ['X','Z']; m(i,r+1) end when 'Y' then for i in['Y','Z']; m(i,r+1) end else for i in ['X','Y','Z']; m(i,r+1) end end else $n+=1 end end m('z',0) p $n ちなみに10個並べると、8119通りになるようです。 |
|
6月26日(土) 14:31:20
50620 |