億とか京とかを見て書くことにした。MLでは何故だか正規表現で教えてほしいと書いてあるが、あえて正規表現を使わずに書いた。ただ最近Rubyを全然使って無いのでRubyを使いたかっただけだが。それより1ヶ月前のエントリへのトラックバックかっこいい!
#!/usr/bin/ruby -Ku # -*- coding: utf-8 -*- Units = [ "" , "万", "億", "兆", "京", "垓", "禾予", "穣", "溝", "澗", "正", "載", "極", "恒河沙", "阿僧祇", "那由他", "不可思議", "無量大数"] def to_jp_unit(num) ret = "" i = 0 while(num > 0) amari = num % 10000 ret = amari.to_s + Units[i] + ret if amari > 0 i += 1 num /= 10000 end ret = "0" if ret.length == 0 return ret end while line = gets num = line.to_i puts "#{num} -> #{to_jp_unit(num)}" end