回溯黑历史

#include <stdio.h>
int n,r; //n种自然数 r是个数
int rec[100];
void output()
{
    int i;
    for(i=1;i<=r;i++)
        printf("%d ",rec[i]);
    printf("
");
}
void To(int s,int g) //s是首个数 g是个数
{
    if(g==r+1) output();
    else
    {
        int i;
        for(i=s+1;i<=n;i++)
        {
            rec[g]=i;
            To(i,g+1);
        }
    }    
}
int main()
{
    scanf("%d%d",&n,&r);    
    To(0,1);
    return 0;
}
原文地址:https://www.cnblogs.com/KakagouLT/p/4531222.html