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; }