rubyで魔方陣 その2
Gaucheとおなじく総当たりでループを選別してまわすことをやめてみるとrubyの方が遅かった。
こりゃやっぱ自分のGaucheの使い方がダサいんだな。
(1..9).to_a.permutation(3).each{|a| (1..9).to_a.reject{|i|a.include?(i)}.permutation(3).each{|b| (1..9).to_a.reject{|i|a.include?(i)||b.include?(i)}.permutation.each{|c| x = a[0]+a[1]+a[2] p [a,b,c].flatten if x==b[0]+b[1]+b[2] && x==c[0]+c[1]+c[2] && x==a[0]+b[1]+c[2] && x==a[2]+b[1]+c[0] && x==a[0]+b[0]+c[0] && x==a[1]+b[1]+c[1] && x==a[2]+b[2]+c[2] } } } #=>real 0m1.369s #=>user 0m1.356s #=>sys 0m0.008s