開発環境
- OS X Mavericks - Apple (OS)
- Dart Editor (開発環境)
- Dart (プログラミング言語)
C実践プログラミング 第3版 (Steve Oualline (著)、 望月 康司 (監訳) (翻訳)、谷口 功 (翻訳)、オライリー・ジャパン)のⅡ部(単純なプログラミング)の9章(変数スコープおよび関数)、9.4(構造かプログラミング)、9.5(再帰)、9.7(プログラミング実習)、実習 9-3をDartで解いてみる。
その他参考書籍
- What is Dart? [Kindle版] (O'Reilly Media) Kathy Walrath Seth Ladd (著) このブログでの感想
実習 9-3.
コード
sample.dart
int count(int number, List<int> numbers, int length){ int counter = 0; if (length == 0){ return counter; } if (numbers[length - 1] == number){ counter += 1; } return counter + count(number, numbers, length - 1); } void main(){ List<int> numbers1 = [], numbers2 = [1], numbers3 = [1, 2, 1, 3, 4, 5], numbers4 = [1, 2, 3, 4, 5, 2], numbers5 = [1, 2, 3, 4, 5, 6]; for (var numbers in [numbers1, numbers2, numbers3, numbers4, numbers5]){ for (var i = 0; i < 5; i += 1){ print('${numbers} ${i} ${count(i, numbers, numbers.length)}個'); } } }
入出力結果
[] 0 0個 [] 1 0個 [] 2 0個 [] 3 0個 [] 4 0個 [1] 0 0個 [1] 1 1個 [1] 2 0個 [1] 3 0個 [1] 4 0個 [1, 2, 1, 3, 4, 5] 0 0個 [1, 2, 1, 3, 4, 5] 1 2個 [1, 2, 1, 3, 4, 5] 2 1個 [1, 2, 1, 3, 4, 5] 3 1個 [1, 2, 1, 3, 4, 5] 4 1個 [1, 2, 3, 4, 5, 2] 0 0個 [1, 2, 3, 4, 5, 2] 1 1個 [1, 2, 3, 4, 5, 2] 2 2個 [1, 2, 3, 4, 5, 2] 3 1個 [1, 2, 3, 4, 5, 2] 4 1個 [1, 2, 3, 4, 5, 6] 0 0個 [1, 2, 3, 4, 5, 6] 1 1個 [1, 2, 3, 4, 5, 6] 2 1個 [1, 2, 3, 4, 5, 6] 3 1個 [1, 2, 3, 4, 5, 6] 4 1個
0 コメント:
コメントを投稿