fc2ブログ

ぼちぼち散歩

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)

ページの先頭へ

トップページへ