User:Shyal-b/Sandbox/pascal
From Wikipedia, the free encyclopedia
Code output:
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 1 13 78 286 715 1287 1716 1716 1287 715 286 78 13 1
code listing:
#include <iostream> #include <vector>
using namespace std;
double factorial(int a) { double r = a; if (a > 0) { while (--a) { r *= a; } } else { r = 1; } return r; }
int combinations(int n, int r) { return((int)(factorial(n)/(factorial(n-r)*factorial(r)))); }
int main() {
int s = 13;
for (size_t i = 0; i <= s; i++) { size_t t = (s-i)/2; while (t--) { cout << "\t"; } if (i%2 == 0) { cout << " "; } for (size_t j = 0; j <= i; j++) { cout << combinations(i, j) << "\t"; if (i%2 == 0) { cout << " "; } } cout << endl; }
cout << endl;
return 0; }