نیم ساعت طول کشید نوشتنش:
#include "stdio.h"
#include "conio.h"
#include "malloc.h"
#include "memory.h"
int f(int k);
int *M,m,n;
int main(void){
printf("Enter n:");
scanf_s("%d",&n);
printf("Enter m:");
scanf_s("%d",&m);
if(m<2 || m>n){
return 0;
}
M=(int *)malloc(m*sizeof(int));
memset(M,0,m*sizeof(int));
f(1);
_getch();
return 0;
}
int f(int k){
int i=0,j=0;
if(k==m){
for(i=M[1]+1;i<=n;i++){
M[k-1]=i;
printf("(");
for(j=0;j<m;j++){
printf("%d ",M[j]);
}
printf(")");
}
}
else{
for(i=M[0]+1;i<=n;i++){
M[k-1]=i;
f(k+1);
printf("\n");
}
}
return 0;
}