パスカルの三角形
パスカルの三角形を求めます。
using System; using System.Collections.Generic; using System.Linq; class PascalTriangle { static int Combination(int n, int k) { if (k == 0 || k == n) return 1; else return Combination(n-1, k) + Combination(n-1, k-1); } static void Main() { for (int i = 0; i < 10; i++) { var a = Enumerable.Range(0, i+1).Select(x => Combination(i, x)); Console.WriteLine(string.Join(", ", a)); } } }
実行結果です。
1 1, 1 1, 2, 1 1, 3, 3, 1 1, 4, 6, 4, 1 1, 5, 10, 10, 5, 1 1, 6, 15, 20, 15, 6, 1 1, 7, 21, 35, 35, 21, 7, 1 1, 8, 28, 56, 70, 56, 28, 8, 1 1, 9, 36, 84, 126, 126, 84, 36, 9, 1