fork download
  1. #include <stdio.h>
  2. #define SIZE 128
  3.  
  4. void xuat(int A[], int n);
  5. void sinhToHop();
  6.  
  7. int A[SIZE], n,k;
  8.  
  9. int main()
  10. {
  11. scanf("%d%d",&n,&k);
  12. for (int i=0;i<n;i++)
  13. A[i]=i;
  14. sinhToHop();
  15. return 0;
  16. }
  17.  
  18. void sinhToHop()
  19. {
  20. int subA[SIZE]={0};
  21. for (int i=0;i<k;i++)
  22. subA[i]=i;
  23. while (1)
  24. {
  25. xuat(subA,k);
  26. int j;
  27. for (j=k-1;subA[j]==n-k+j && j>=0;j--);
  28. if (j>=0)
  29. subA[j]++;
  30. else return;
  31. for (int jj=j+1;jj<k;jj++)
  32. subA[jj]=subA[jj-1]+1;
  33. }
  34. }
  35.  
  36. void xuat(int A[], int n)
  37. {
  38. for (int i=0;i<n;i++)
  39. printf("%d ",A[i]);
  40. printf("\n");
  41. }
Success #stdin #stdout 0s 5288KB
stdin
6 3
stdout
0 1 2 
0 1 3 
0 1 4 
0 1 5 
0 2 3 
0 2 4 
0 2 5 
0 3 4 
0 3 5 
0 4 5 
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