開発環境
- OS X Lion - Apple(OS)
- Dart SDK (開発環境)
- Dart (プログラミング言語)
『初めてのプログラミング 第2版』(Chris Pine 著、長尾 高弘 訳、オライリー・ジャパン、2010年、ISBN978-4-87311-469-9)の9章(自作メソッドの書き方), 9.5(練習問題)、古典的ローマ数字をDartで解いてみる。
その他参考書籍
- What is Dart? [Kindle版] (O'Reilly Media) Kathy Walrath Seth Ladd (著) このブログでの感想
古典的ローマ数字
コード
sample.dart
String oldRomanNumeral(int num){ Map<int,String> num_roman = {1000:'M', 500:'D', 100:'C', 50:'L', 10:'X', 5:'V', 1:'I'}; String result = ""; for(var n in num_roman.keys.toList()){ result += new List.filled(num ~/ n, num_roman[n]).join(); num %= n; } return result; } void main() { var a = new Range() print(oldRomanNumeral(4)); print(oldRomanNumeral(9)); for(var i = 100; i < 121; i += 1){ print('${i}: ${oldRomanNumeral(i)}'); } }
入出力結果
IIII VIIII 100: C 101: CI 102: CII 103: CIII 104: CIIII 105: CV 106: CVI 107: CVII 108: CVIII 109: CVIIII 110: CX 111: CXI 112: CXII 113: CXIII 114: CXIIII 115: CXV 116: CXVI 117: CXVII 118: CXVIII 119: CXVIIII 120: CXX $
0 コメント:
コメントを投稿