两三天没看了,进度啊~~~~(>_<)~~~~
/*
* 8.1.Binomial
* 2011/08/12
* ArtWalk
*/
#include <iostream>
using namespace std;
#define N 10
#define K 10
bool Binomial( int C[N][K] );
void print( int C[N][K] );
inline int min(int a, int b);
int main(int ac, char** av)
{
int C[N][K] = {0};
// int n, k;
// cin >> n >> k;
Binomial( C );
print(C);
return 0;
}
bool Binomial( int C[N][K] ) {
for ( int i = 0; i != N; ++i ) {
int minval = min(i, K-1);
for ( int j = 0; j <= minval; ++j ) {
if ( 0 == j || j == i ) {
C[i][j] = 1;
} else {
C[i][j] = C[i-1][j-1] + C[i-1][j];
}
}
}
return true;
}
void print( int C[N][K] ) {
printf("%-5c", ' ');
for ( int k = 0; k != K; ++k ) {
printf("%-5d", k);
}
printf("\n");
for ( int i = 0; i != N; ++i) {
printf("%-5d", i);
for ( int j = 0; j != K; ++j ) {
if ( C[i][j] != 0 ) {
printf("%-5d", C[i][j]);
} else {
printf("%-5c", '|');
}
}
printf("\n");
}
}
inline int min(int a, int b) {
return a < b ? a : b;
}
