LL Golf Hole 7 - バイト数を読みやすくする
Posted feedbacks - Scala
サンプルと同じく1000で単位を揃えています。
いつものごとくひねりはありません。再帰呼出でループを表現しています。
あまり大きな数になると表示がおかしくなります:-)。
scala h7.scala 1234.5 で動作させます。
いつものごとくひねりはありません。再帰呼出でループを表現しています。
あまり大きな数になると表示がおかしくなります:-)。
scala h7.scala 1234.5 で動作させます。
1 2 3 4 | val b=args(0).toDouble
val u=" kMGTPEZY"
def p(d:Double,c:Int){if(d<1000D||c==(u.length-1))printf("%.1f%c",d,u(c))else p(d/1000D,c+1)}
p(b,0)
|
scalaで書く甲斐の無い感じのソースですが...。
1 | val v=args(0);val w=(v.size-1)/3;printf("%.1f%c",v.toDouble/Math.pow(1000,w)," kMGTPEZY"(w))
|

takano32
#7310()
[
Ruby
]
Rating1/1=1.00
与えられたバイト数を読みやすくしてください。読みやすくとは、いわゆる human readable な表記とします(詳しくはサンプルのコードを参考にしてください)。
与えるバイト数についてはリテラルで与える、標準入力で与える、引数で与えるなどは自由とします。
余力のあるものはこのプログラムを短くしてください。
※ LL Future実行委員の高野光弘です。この出題は LL Future公式の出題であり、優れたものについてはLL Golfのセッションでご紹介させていただくかもしれません。ご理解の上、ご投稿ください。また、LL Futureのチケットは現在も発売中です。よろしければ、メインイベントの方にもぜひご参加ください。
Rating1/1=1.00-0+
[ reply ]