我希望将123、132、213、231、312、321全排列输出为1,2,3,请大侠给出算法或者java代码,
来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/07/13 21:23:21
我希望将123、132、213、231、312、321全排列输出为1,2,3,请大侠给出算法或者java代码,
如果有排列是123、124、134、213.432共24个,即P43,能够输出1,2,3,4
换种说法,我从m个数字里面选n个数字按照一定的顺序排列起来,数学叫Pmn,上下标打不起,如果m=n,就叫全排列.例如m=n=3,其排列为:123、132、213、231、312、321共6组,P33=3*2*1=6;如果m=4,n=3,起排列为:123、124、132、134..431、432共24组,P43=4*3*2=24;现在我希望的是如果我已知一堆排列,能找出是哪些数字组合在一起才能得到这些排列.例如:已知排列有123、132、213、231、312、321,需要输出1、2、3,但如果我有123、132、213、231、312、412,则没有任何输出;再如有排列123、124、132、134..431、432共24组,需要输出1、2、3、4,不知现在是否说清楚了
如果有排列是123、124、134、213.432共24个,即P43,能够输出1,2,3,4
换种说法,我从m个数字里面选n个数字按照一定的顺序排列起来,数学叫Pmn,上下标打不起,如果m=n,就叫全排列.例如m=n=3,其排列为:123、132、213、231、312、321共6组,P33=3*2*1=6;如果m=4,n=3,起排列为:123、124、132、134..431、432共24组,P43=4*3*2=24;现在我希望的是如果我已知一堆排列,能找出是哪些数字组合在一起才能得到这些排列.例如:已知排列有123、132、213、231、312、321,需要输出1、2、3,但如果我有123、132、213、231、312、412,则没有任何输出;再如有排列123、124、132、134..431、432共24组,需要输出1、2、3、4,不知现在是否说清楚了
遍历所有排列的数据:例 123 将之拆分的 ‘1’ ‘2’ ‘3‘ 用一数组存取存在的数,虽然这办法效率不高,但能你实现你的所要的效果,你按这个思想写一下吧.实在不行,我再帮你写一个
再问: 不是很明白你的思路,你要能写,最好不过!
再答: 这几天有事,我写了一个,你参考一下吧: public class Sample { public static void main(String[] args) { String[] data = {"123","12","234"}; //你的排列数据 char []c = new char[32]; //存放将String转换为char数组 char ret[] = new char[32]; //存放结果 int i,dlength,a,j,z,flag; a = 0; for(i = 0; i < 3; i++) { c = data[i].toCharArray(); dlength = data[i].length(); for(j = 0; j < dlength; j++) { flag = 1; for(z = 0; z < a; z++) { if(ret[z] == c[j]) { flag = 0; break; } } if(flag == 1) ret[a++] = c[j]; } } System.out.print("ret: "); for(i = 0; i < a; i++) System.out.print(ret[i]+" "); } }
再问: 不是很明白你的思路,你要能写,最好不过!
再答: 这几天有事,我写了一个,你参考一下吧: public class Sample { public static void main(String[] args) { String[] data = {"123","12","234"}; //你的排列数据 char []c = new char[32]; //存放将String转换为char数组 char ret[] = new char[32]; //存放结果 int i,dlength,a,j,z,flag; a = 0; for(i = 0; i < 3; i++) { c = data[i].toCharArray(); dlength = data[i].length(); for(j = 0; j < dlength; j++) { flag = 1; for(z = 0; z < a; z++) { if(ret[z] == c[j]) { flag = 0; break; } } if(flag == 1) ret[a++] = c[j]; } } System.out.print("ret: "); for(i = 0; i < a; i++) System.out.print(ret[i]+" "); } }
我希望将123、132、213、231、312、321全排列输出为1,2,3,请大侠给出算法或者java代码,
求E语言数字全排列的算法,用纯代码将一串数字进行大小排列
编写一个JAVA程序,求1!+2!+3!+.+10!的结果,并将结果输出
编写代码?给出一个不多于5位的整数,要求:1,求出它是几位数.2,分别输出每一位数字.3,按逆序输出各位数字.
C语言数字全排列的问题(急!)求C代码和算法
6、求java算法 已知四个带权的结点:(A,1),(B,2),(C,2),(D,3),构造Huffman数,并给出每个
java传入一个数组{1,2,3},返回123,132,213,231,312,321,求指导.
高二数学 已知a,b,c为集合A={1,2,3,4,5,6}中三个不同的数,通过程序给出的一个算法,输出a=3的概率为
java排列组合的算法 譬如我有(A,B,C,D),我想输出的结果是
java排列组合问题,设计一段程序将3,5,5,8,9这几个数所有可能的随机排列输出,且两个5不能相邻,求教!
1到100的阶乘代码+2!+3!……+100!要JAVA的!
3伏直流电源的制作我想制作一个将220伏的交流电变成输出直流电压为3伏,输出电流为随身听常用电流的电路,请各位大侠帮忙,