パスカルの三角形を描画するプログラム(C言語)
先に実行結果から
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 1 10 45 120 210 252 210 120 45 10 1 1 11 55 165 330 462 462 330 165 55 11 1 1 12 66 220 495 792 924 792 495 220 66 12 1
#include <stdio.h> #define N 12 //描画するパスカルの三角形の段数 long combi(int,int); int main(){ for(int i=0;i<=N;i++){ for(int t=0;t<(N-i)*3;t++){ printf(" "); } for(int j=0;j<=i;j++){ printf("%3ld ",combi(i,j)); } printf("\n"); } } long combi(int n,int r){ if (r == 0) { return 1; } return (n - r + 1) * combi(n, r - 1) / r; }