Posted on 2012-01-04 15:26
C小加 閱讀(226)
評論(0) 編輯 收藏 引用 所屬分類:
解題報告
點(diǎn)擊查看題目
我用的是遞歸。從大到小枚舉,用一個數(shù)組儲存,每到一次邊界輸出一次。
#include<iostream>
#include<cstdio>
using namespace std;
int n,r;
int s[13];
void fun(int x,int num)
{
s[num-1]=x;
if(num==r)
{
for(int i=0;i<r;i++)
{
printf("%d",s[i]);
}
printf("\n");
return;
}
num++;
for(int i=x-1;i>=1;i--)
{
fun(i,num);
}
}
int main()
{
while(scanf("%d %d",&n,&r)!=EOF)
{
for(int i=n;i>=r;i--)
fun(i,1);
}
return 0;
}