ぼちぼち散歩

MacでRuby on Railsの環境を整える

とりあえず環境ができたのでメモ.

その1

Locomotiveを使う.超簡単.

その2

もうちょいがんばってみる.MacPorts(旧DarwinPorts)を使う.以下簡単な構成のメモ.

  • MacPorts(DawrinPorts)
    • ruby
    • rb-rubygems
      • rails - -include-dependencies
      • fcgi
    • rb-fcgi
    • mysql4 +server
    • lighttpd
    • fcgi

これで一応動いた.railsは- -include-dependenciesオプションを付けとくと,依存ファイル全部インストールされる.mysql4は+serverのvariantsを付けとくと,起動スクリプトも勝手に入る.あと,mysql4はインストール後のメッセージ見て,「sudo chown mysql:mysql /opt/なんとか」とかしないと使えない.

スポンサーサイト

2006/11/21 01:44 | Ruby | トラックバック(0) | コメント(0)

ページの先頭へ

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)

ページの先頭へ

Rubyで小町数

最近ちょっと勉強しはじめたRubyの練習です.「自乗したら小町数(1?9までを1回ずつ使った9桁の数,例:324587691)になる整数を全て列挙する」ってのをやってみました.

array = []
(Math.sqrt(123456789).ceil..Math.sqrt(987654321).floor).each do |i|
	temp = (i ** 2).to_s.split('')
	array.push(i) if temp.uniq.size == 9 and !(temp.include? '0')
end

array.each {|i| puts i.to_s + " ^ 2 = " + (i ** 2).to_s}
puts array.size.to_s + '個発見!'

実行結果

11826 ^ 2 = 139854276
12363 ^ 2 = 152843769
12543 ^ 2 = 157326849
14676 ^ 2 = 215384976
15681 ^ 2 = 245893761
15963 ^ 2 = 254817369
18072 ^ 2 = 326597184
19023 ^ 2 = 361874529
19377 ^ 2 = 375468129
19569 ^ 2 = 382945761
19629 ^ 2 = 385297641
20316 ^ 2 = 412739856
22887 ^ 2 = 523814769
23019 ^ 2 = 529874361
23178 ^ 2 = 537219684
23439 ^ 2 = 549386721
24237 ^ 2 = 587432169
24276 ^ 2 = 589324176
24441 ^ 2 = 597362481
24807 ^ 2 = 615387249
25059 ^ 2 = 627953481
25572 ^ 2 = 653927184
25941 ^ 2 = 672935481
26409 ^ 2 = 697435281
26733 ^ 2 = 714653289
27129 ^ 2 = 735982641
27273 ^ 2 = 743816529
29034 ^ 2 = 842973156
29106 ^ 2 = 847159236
30384 ^ 2 = 923187456
30個発見!

というわけで,30個ありました.

2006/07/22 00:54 | Ruby | トラックバック(0) | コメント(0)

ページの先頭へ

トップページへ