如何修改这段源码?

ratrat ratrat 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
从一组数字1,2,3,4,...m个数中抽出k个不同的数,列出所有的组合(k<m).编码如下:
#include <stdio.h>
#define MAXN 100
int a [MAXN]
void comb(int m,int k)
{int i,j;
for(i=m;i>=k;i--){
a[k]=i;
if(k>1)
comb (i-1,k-1);
else{
for (i=a[0];j>0;j--) printf(%4d,a[j]);
printf("\n");
}
}
}
void main()
{a[0]=3, comb(5,3);
}
这是用递归法写的源码,如果增加一个条件:形成的组合中,只有一个相邻数之差为1,例如,数组(87,32,56,57,90)中,只有57与56之差为1,再如,数组(78,45,46,49,97)中,只有47与46之差为1。请大侠改之。


--------------------------------------------------------------------------------

...全文

相关推荐

评论 8
收藏 已收藏
分享
返回顶部
ratrat
C语言 70,040 成员 243,237 内容