Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- int minimum(a, b) {
- return a<b? a:b;
- }
- int bin (int n, int k)
- {
- if (k == 0 || n == k)
- return 1;
- else
- return bin(n-1, k-1)+bin(n-1, k);
- }
- int bin2 (int n, int k) {
- int i, j;
- int B[n+1][k+1];
- for (i=0; i<=n; i++)
- for (j=0; j<=minimum(i, k); j++)
- if (j == 0 || j == i)
- B[i][j] = 1;
- else
- B[i][j] = B[i-1][j-1] + B[i-1][j];
- return B[n][k];
- }
- int main() {
- int n, k;
- n = 50;
- // (N=50, K=5, 6, 7, 8)
- printf("bin(50, 5) = %d\n", bin(50,5));
- printf("bin2(50, 5) = %d\n", bin2(50,5));
- printf("bin(50, 6) = %d\n", bin(50,6));
- printf("bin2(50, 6) = %d\n", bin2(50,6));
- printf("bin(50, 7) = %d\n", bin(50,7));
- printf("bin2(50, 7) = %d\n", bin2(50,7));
- printf("bin(50, 8) = %d\n", bin(50,8));
- printf("bin2(50, 8) = %d\n", bin2(50,8));
- return 1;
- }
Add Comment
Please, Sign In to add comment