fork download
  1. #include <stdio.h>
  2. #define lim 30
  3. int a[lim];
  4. void foo(int k, int n, int m)
  5. {
  6. int i, s;
  7. if (k == m) {
  8. for (i = 0; i < m; i++)
  9. printf("%d ", a[i]);
  10. printf("\n");
  11. }
  12. else {
  13. s = 1;
  14. if (k > 0)
  15. s = a[k-1] + 1;
  16. for (i = s; i <= n; i++) {
  17. a[k] = i;
  18. foo(k + 1, n, m);
  19. }
  20. }
  21. }
  22. int main(void)
  23. {
  24. int n, m;
  25. scanf("%d%d", &n, &m);
  26. if (m > n) {
  27. printf("m must be <= n\n");
  28. return 1;
  29. }
  30. foo(0, n, m);
  31. return 0;
  32. }
  33.  
Success #stdin #stdout 0s 2296KB
stdin
5 3
stdout
1 2 3 
1 2 4 
1 2 5 
1 3 4 
1 3 5 
1 4 5 
2 3 4 
2 3 5 
2 4 5 
3 4 5