组合问题(递归)
2011-08-10 01:04
225 查看
//============================================================================ // Name : ForJob.cpp // Author : yangyh // Version : // Copyright : Your copyright notice // Description : Hello World in C++, Ansi-style //============================================================================ //从M个字符中选出N个字符的所有组合 #include <iostream> using namespace std; static int m = 0; int print(const char * src, int begin, int len, char *dst, int index, int n) { if (n == 0) { dst[index] = '\0'; printf("%d:%s\n", m++, dst); return 1; } if (len < n) return 0; for (int i = begin; i < len; i++) { dst[index] = src[i]; print(src, i + 1, len, dst, index + 1, n - 1); } return 1; } int main(int argc, char* argv[]) { printf("Hello World!\n"); char str[10] = "abcdefgh"; char dst[10]; print(str, 0, 8, dst, 0, 3);//从8个字符中找出3个字符的所有组合 printf("total:%d\n", m); return 0; }
相关文章推荐
- powerset 幂集函数(组合问题)的递归实现
- 典型的递归问题:把一个数组里的组合全部列出,例如1 2,列出为1,2,12,21
- 递归求解几类排列组合问题(二、全组合排列)
- 字符串的全排列和组合递归非递归--排列组合扩展问题
- 递归实现组合问题
- 递归求解几类排列组合问题(三、非重复组合排列)
- 非递归解决组合问题
- 递归问题之一:给定一字符串,输出字符串中所有字符子串的各种组合形式,长度为一个字符到字符串的长度,忽略排序
- 回溯法解决组合与数的问题(递归与非递归算法)
- 递归解决问题的几种类型的排列(二、完整的组合安排)
- 百度2013年校园招聘一道笔试题--三位密码组合问题递归求解
- 数的组合问题(递归)
- 非递归解决组合问题
- 递归全组合问题
- 递归-排列组合问题
- 递归三兄弟——数的乘方、背包问题、组合的Java实现
- 递归与非递归解决组合问题
- 递归实现排列组合问题
- 打印组合数问题之递归版回溯算法
- Java 非递归实现的排列组合中的平均分组问题