ぼちぼち散歩

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

--/--/-- --:-- | スポンサー広告 | トラックバック(-) | コメント(-)

ページの先頭へ

Rubyで小町算

続きまして,1?9までの数字の間に適当に+,-,*,/を挟んで答えを100にする小町算をRubyでやってみました.

class Komachi
	def initialize
		@result = []
		@reg = /(\+|\-|\*|\/)[2-9]/
		calc()
		calc('-1')
	end
	
	attr_reader :result
	
	def calc(string = '1', n = 2)
		if n == 10
			@result.push(string+"=100") if eval(string.gsub(@reg, '.0\&')) == 100
		else
			['+', '-', '*', '/', ''].each do |cal|
				calc(string + cal + n.to_s, n + 1)
			end
		end
	end
end

komachi = Komachi.new()

komachi.result.each{|s| puts s}
puts komachi.result.size.to_s + '個発見!'

結果は別ファイルにしました.プログラムがあってれば,100になるパターンは162個あるようです.(,)とか累乗とか含めだすともっとありそうですが,めんどくさそうなのでやめておきます.

スポンサーサイト

2006/07/23 19:26 | Ruby | トラックバック(0) | コメント(0)

ページの先頭へ

トップページへ
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。