This comment is reply for 2037 rubikitch: 小学校時代、図書室に数の本があって無量大...(整数の漢数字表記). Go to thread root.
匿名 #2467(2007/08/24 02:23 GMT) [ Ruby ] Rating-1/1=-1.00
るびきちさんのより短くを目標に考えてみましたが、一行かないませんでした。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
#!/usr/local/bin/ruby def jsen(ary) k1 = ["", "一", "二" ,"三", "四", "五", "六", "七", "八", "九"] k10 = ['', "十","百", "千"] str, s = "", ary.size - 1 ary.each{|num| keta = s case num when 0 keta = nil when 1 num = nil unless keta == 0 end str << k1[num].to_s unless num.nil? str << k10[keta].to_s unless keta.nil? s -= 1 } return str end def jnum(n) return "零" if n == 0 str, h, ary = "", Hash.new, Array.new k = ["", "万", "億", "兆", "京"] key, value = n.to_s.split(//).size - 1, n.to_s.split(//) return nil if key > 19 # max "京" value.each{|i| ary.push i.to_i if key.divmod(4)[1] == 0 h[key.divmod(4)[0]] = ary ary = [] end key -= 1 } h.sort.reverse.each{|x, ary| str << jsen(ary).to_s str << k[x].to_s + " " unless ary == [0, 0, 0, 0] } return str end #n = 1732050807568877 # 千七百三十二兆 五百八億 七百五十六万 八千八百七十七 n = 0 # => 零 n = 1 # => 一 n = 10 # => 十 n = 100 # => 百 n= 1000 # => 千 n= 10001000 # => 千万 千 print jnum(n)
Rating-1/1=-1.00-0+
[ reply ]
匿名
#2467()
[
Ruby
]
Rating-1/1=-1.00
Rating-1/1=-1.00-0+