#include <stdio.h>
#define true 1
#define false 0
int num[10];
int visit[10];
void dfs_creat(int index)
{
int i;
if(index == 3) //组合的数的个数
{
for (i = 0; i < 3; i++)
{
printf("%d ", num[i]);
}
return;
}
//0~4 实现组合
for(i = num[index-1] + 1; i <5 ; i ++)
{
if(!visit[i])
{
visit[i] = true;
num[index] = i;
dfs_creat(index+1);
visit[i] = false;
}
}
}
int main()
{
dfs_creat(1);
return 0;
}
实现组合的递归算法
最新推荐文章于 2021-08-10 13:42:37 发布
本文介绍了一个使用深度优先搜索(DFS)算法生成指定长度数字组合的C语言程序实例。通过递归调用实现从给定范围内选取不重复数字形成特定长度的组合,并打印出来。该程序定义了两个数组用于存放候选数字及已选数字,利用布尔数组记录数字是否被访问过。

1640

被折叠的 条评论
为什么被折叠?



