描述
找出从自然数1、2、… 、n(0
输出
按特定顺序输出所有组合。
特定顺序:每一个组合中的值从大到小排列,组合之间按逆字典序排列。
样例输入
5 3
样例输出
543
542
541
532
531
521
432
431
421
321
C++
#include<iostream>
using namespace std;
int m,n;
void dg(int x,int y)
{
int a,b,c,d;
if(y==1)
{
for(a=x;a>=1;a--)
{
m=m+a;
cout<<m<<endl;
m=m-a;
}
return ;
}
c=y-1;d=x;
for(a=x;a>=y;a--)
{
m=(m+a)*10;
d--;
dg(d,c);
m=m/10-a;
}
return ;
}
int main()
{
int a,b,c,d,e,f;
cin>>a>>b;
d=a;e=b-1;
for(c=a;c>=b;c--)
{
m=0;
m=(m+c)*10;
d--;
dg(d,e);
m=m/10-c;
}
return 0;
}