做网站怎么做付费推广,上海建设摩托车官网,上海的网吧,石家庄学做网站建设培训班34101 - 全排列问题#xff08;目前遇到最难的一个递归#xff09;
时间限制 : 1 秒
内存限制 : 128 MB
输出自然数 1 到 n 所有不重复的排列#xff0c;即 n 的全排列#xff0c;要求所产生的任一数字序列中不允许出现重复的数字。
输入 n(1≤n≤9) 输出 由 1#xf…34101 - 全排列问题目前遇到最难的一个递归
时间限制 : 1 秒
内存限制 : 128 MB
输出自然数 1 到 n 所有不重复的排列即 n 的全排列要求所产生的任一数字序列中不允许出现重复的数字。
输入 n(1≤n≤9) 输出 由 1n 组成的所有不重复的数字序列每行一个序列。每个数字占5位输出 样例
输入 3 输出 1 2 3 1 3 2 2 1 3 2 3 1 3 1 2 3 2 1 答案;
#include iostream
#includestdio.h
using namespace std;
#define maxn 15
int digit[maxn], temp[maxn];
bool judge[maxn];inline void sequence(int cnt,int n)
{int i;if (cnt n){for (i 0; i n; i){printf(%5d, temp[i]);}cout endl;}for (i 0; i n; i){if (judge[i] 0){judge[i] 1;temp[cnt] digit[i];sequence(cnt 1,n);judge[i] 0;}}
}int main()
{int n;cin n;for (int i 0; i n; i){digit[i] i 1;}sequence(0,n);return 0;
}
分析这个题目难度很大不是说全排列难很是写出全排列这个递归很难。而且是保证从小到大的顺序。 34102 - 组合问题
时间限制 : 1 秒
内存限制 : 128 MB
排列与组合是常用的数学方法其中组合就是从 n 个元素中抽出 r 个元素(不分顺序且 rn)我们可以简单地将 n 个元素理解为自然数 12…n从中任取 r 个数。 现要求你用递归的方法输出所有组合。 例如 n5r3所有组合为
1 2 31 2 41 2 51 3 41 3 51 4 52 3 42 3 52 4 53 4 5
输入 一行两个自然数 n、r。(1n211rn)。 输出 所有的组合每一个组合占一行且其中的元素按由小到大的顺序排列每个元素占三个字符的位置所有的组合也按字典顺序。每个数字占3位输出 样例
输入 5 3 输出 1 2 3 1 2 4 1 2 5 1 3 41 3 5 1 4 5 2 3 4 2 3 5 2 4 5 3 4 5