怎么用java实现输出a,b,c,d,e五个字符的所有可能的排列 Posted 2023-05-08
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么用java实现输出a,b,c,d,e五个字符的所有可能的排列相关的知识,希望对你有一定的参考价值。
怎么用java实现输出a,b,c,d,e五个字符的所有可能的排列
参考技术A
public class FullArray ... public String[] s=..."a","b","c"; public void run()... int j2; //指向要对换的位置 int sLength=s.length; for(int i=0;i<getP(s.length);i++)... //外层循环以便获取全部组合 String[] tempString=s.clone(); //由于对象传的是句柄也就是地址,因此为保证原来数组不变,必须使用对象克隆 for(int j=0;j<i;j++)... //i次的对换 j2=j%(sLength-1); change(j2,tempString); for(int l=0;l<sLength;l++)... //输出这一次对换后的排列 System.out.print(tempString[l]); System.out.println(); public int getP(int i)... //获得全排列数all int all=1; for(int j=i;j>0;j--)... all=all*j; return all; public void change(int i,String[] tempString)...// String t=""; t=tempString[i]; tempString[i]=tempString[i+1]; tempString[i+1]=t; public static void main(String[] args)... FullArray fa=new FullArray(); fa.run(); 参考资料: http://www.diybl.com/course/3_program/java/javajs/2008315/104683.html
本回答被提问者采纳
蓝桥杯java 算法提高 扶老奶奶过街
一共有5个红领巾,编号分别为A、B、C、D、E,老奶奶被他们其中一个扶过了马路。 五个红领巾各自说话: A :我和E都没有扶老奶奶 B :老奶奶是被C和E其中一个扶过大街的 C :老奶奶是被我和D其中一个扶过大街的 D :B和C都没有扶老奶奶过街 E :我没有扶老奶奶 已知五个红领巾中有且只有2个人说的是真话,请问是谁扶这老奶奶过了街? 若有多个答案,在一行中输出,编号之间用空格隔开。 例如 A B C D E(这显然不是正确答案)
public class Main {
public static void main(String[] args) {
int k , sum;
for (k = 1; k <= 5; k++) {
sum = 0;
if (k != 1 && k != 5)
sum++;
if (k == 3 || k == 5)
sum++;
if (k == 3 || k == 4)
sum++;
if (k != 2 && k != 3)
sum++;
if (k != 5)
sum++;
if (sum == 2)
System.out.print((char) (k - 1 + ‘A‘)+" ");
}
}
}
以上是关于怎么用java实现输出a,b,c,d,e五个字符的所有可能的排列的主要内容,如果未能解决你的问题,请参考以下文章
java算法 蓝桥杯 扶老奶奶街
蓝桥杯java 算法提高 扶老奶奶过街
输入a,c,u,b,e,p,f,z倒序和正序输出用java程序怎么实现
C语言中从键盘上输入三个数,将之排序后按由大到小的顺序输出
由0到4五个数字,组成5位数,每个数字用一次,但十位和百位不能为3(当然万位不能为0),输出所有可能的五位数
A push B present C push D present E怎么返回A