永发信息网

C语言 简单的数的全排列问题。。。求详解

答案:1  悬赏:40  手机版
解决时间 2021-07-19 05:21
  • 提问者网友:孤山下
  • 2021-07-18 20:25

数的排列问题

Time Limit:1000MS Memory Limit:65536K
Total Submit:16 Accepted:13

Description

输入n,r 统计从1到n,n个数中取r个不同的数有几种取法。要求所取的结果各位不同,且低位数数字大于高位数数字。

Input

一行两个数:n r

Output

所有取法,一行一个r位数

Sample Input

5 3

Sample Output

123 124 125 134 135 145 234 235 245 345

Source

最佳答案
  • 五星知识达人网友:末日狂欢
  • 2021-07-18 21:57

#define n 7
#define r 3


int data[r+1]={0} ;


void main()
{
int i=1;
data[i]=1;
while(i>0)
{
for(i++;i<=r;data[i]=data[i-1]+1,i++);


for(i=1;i<=r;cout<<data[i]<<' ',i++);
cout<<endl;


for(i--;data[i]>=n-r+i;i--);
data[i]++;
}
}

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯