第8講 社員が自分自身に仕事を命令する=メソッドの再帰的使用

第5話 分身の術による3の順列の生成
8778
を分身の術で実現するプログラム例
#! ruby -Ks
print "3の順列の生成\n"
def f(a,g)
 i=1
 3.times do
  h=1
  if g>0 then
   for j in 0..(g-1)
    if i==a[j] then
     h=0
     break
    end
   end
  end
  if h==1 then
   a[g]=i
   if g+1<3 then
    f(a,g+1)
   else
    hy(a)
   end
  end
  i+=1
 end
end
def hy(a)
 i=0
 3.times do
  print a[i]," "
  i+=1
 end
 print "\n"
end
a=[0]
f(a,0)
参考ダウンロード添付ファイル

これを4の順列にするには、
3をすべて4に置換し、
3を4に置換するだけです。
また、8の順列にするにも
3をすべて8に置換し、
3を8に置換するだけです。
そこで、3のところをすべてnに置換し、
nの値は、
n = gets.to_i
によって、キーボードから取得して、

032567

が実現できるようにコードを変更して下さい。

第4話へ 第6話へ


004

eclipse c++ 入門
魔方陣 数独で学ぶ VBA 入門
数独のシンプルな解き方・簡単な解法の研究
vc++講義へ
vba 2013 2010 2007 入門へ
VB講義基礎へ
初心者のための世界で一番わかりやすいVisual C++入門基礎講座へ
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座へ
専門用語なしの C言語 C++ 入門(Visual C++ 2010で学ぶ C言語 C++ 入門)
専門用語なしの excel vba マクロ 入門 2013 2010 2007 対応講義 第1部
eclipse java 入門へ
excel 2016 vba 入門第1部へ
本サイトトップへ