用JAVA写出combination的算法: 在A,B,C,D,E中选出3个,列出所有可能的数组
来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/09/30 09:50:34
用JAVA写出combination的算法: 在A,B,C,D,E中选出3个,列出所有可能的数组
// 直接贴代码了
public class Java196100137 {
public static void main(String args[]) {
new Java196100137().combination(new String[] { "A", "B", "C", "D" }, 3);
}
/**
*
* @param a记录组合序列数组
* @param n总数
* @param r选取的个数
* @param k1数组坐标
* (初始传入0)
* @param k2辅助参数
* (初始传入0)
*/
public void combination(int record[], String info[], int n, int r, int k1,
int k2) {
if (k1 == r) { // 输出当前序列
for (int i = 0; i < r; ++i)
System.out.print(info[record[i] - 1] + " ");
System.out.println();
} else
for (int i = k2; i < n; ++i) {
record[k1] = i + 1; // 子序列赋值
combination(record, info, n, r, k1 + 1, i + 1); // 递归回溯
}
}
/**
*
* @param a记录组合序列数组
* @param n总数
* @param r选取的个数
*/
public void combination(String info[], int r) {
int record[] = new int[r];
int n = info.length;
combination(record, info, n, r, 0, 0);
}
}
// 你看看,还有没有什么疑问?
public class Java196100137 {
public static void main(String args[]) {
new Java196100137().combination(new String[] { "A", "B", "C", "D" }, 3);
}
/**
*
* @param a记录组合序列数组
* @param n总数
* @param r选取的个数
* @param k1数组坐标
* (初始传入0)
* @param k2辅助参数
* (初始传入0)
*/
public void combination(int record[], String info[], int n, int r, int k1,
int k2) {
if (k1 == r) { // 输出当前序列
for (int i = 0; i < r; ++i)
System.out.print(info[record[i] - 1] + " ");
System.out.println();
} else
for (int i = k2; i < n; ++i) {
record[k1] = i + 1; // 子序列赋值
combination(record, info, n, r, k1 + 1, i + 1); // 递归回溯
}
}
/**
*
* @param a记录组合序列数组
* @param n总数
* @param r选取的个数
*/
public void combination(String info[], int r) {
int record[] = new int[r];
int n = info.length;
combination(record, info, n, r, 0, 0);
}
}
// 你看看,还有没有什么疑问?
京东商城的笔试题:用java语言打印出a,b,c,d的所有可能组合……求指点……
用JAVA写一个a,b,c,d,e排列组合算法,
把26个英文字母中选出三个的所有可能
(外语)从A,B,C,D中选出划线部分的读音与其他3个不同的选项
java排列组合的算法 譬如我有(A,B,C,D),我想输出的结果是
在A.father, B. brother, C. boy , D.sister中选出不同类的那个单词
写出从a,b,c,d,e这5个元素中取出2个和3个元素的所有组合
从A,B,C,D,E,F,G,中选最合适的填在横线上
根据短文内容,从A、B、C、D和E中选出最适合填入短文空白处的选项。
已知集合A={a,b,c,d,e},写出集合A的所有子集
已知集合A={a,b,c,d,e},写出集合A所有的子集
从A,B,C,D,E5个人中选3个人当代表,(1)写出所有基本事件.(2)选出的3个人中有A的概率是多少?