java排列组合的算法 譬如我有(A,B,C,D),我想输出的结果是
来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/15 15:29:06
java排列组合的算法 譬如我有(A,B,C,D),我想输出的结果是
{A,B,C,D}
{AB},{AC},{AD},{BC},{BD},{CD}
{ABC},{ABD},{ACD},{BCD}
{ABCD}
{A,B,C,D}
{AB},{AC},{AD},{BC},{BD},{CD}
{ABC},{ABD},{ACD},{BCD}
{ABCD}
import static java.lang.System.*;
import java.util.*;
public class Test{
public static void main(String...args){
ArrayList<String> l=new ArrayList<String>();
out.println("请输入要排序的字母,输入$结束:");
while(true){
Scanner sc=new Scanner(in);
String str=sc.nextLine();
if(str.equals("$"))break;
else
l.add(str);
}
String s="";
System.out.println(s.isEmpty());
f(s,l);
}
static void f(String s,ArrayList<String> l){
if(s.isEmpty()){
for(int i=0;i<l.size();i++){
out.println(s+l.get(i));
if(i==l.size()-1)return;
f(s+l.get(i),l);
}
}else{
char[]c=new char[1];
c[0]=s.charAt(s.length()-1);
String str=new String(c);
for(int i=l.lastIndexOf(str);i<l.size();i++){
out.println(s+l.get(i+1));
if(i==l.size()-2)return;
f(s+l.get(i+1),l);
}
}
}
}
纯手打 实验过了可以用..望采纳,有不懂的欢迎发问
import java.util.*;
public class Test{
public static void main(String...args){
ArrayList<String> l=new ArrayList<String>();
out.println("请输入要排序的字母,输入$结束:");
while(true){
Scanner sc=new Scanner(in);
String str=sc.nextLine();
if(str.equals("$"))break;
else
l.add(str);
}
String s="";
System.out.println(s.isEmpty());
f(s,l);
}
static void f(String s,ArrayList<String> l){
if(s.isEmpty()){
for(int i=0;i<l.size();i++){
out.println(s+l.get(i));
if(i==l.size()-1)return;
f(s+l.get(i),l);
}
}else{
char[]c=new char[1];
c[0]=s.charAt(s.length()-1);
String str=new String(c);
for(int i=l.lastIndexOf(str);i<l.size();i++){
out.println(s+l.get(i+1));
if(i==l.size()-2)return;
f(s+l.get(i+1),l);
}
}
}
}
纯手打 实验过了可以用..望采纳,有不懂的欢迎发问
java排列组合的算法 譬如我有(A,B,C,D),我想输出的结果是
用JAVA写一个a,b,c,d,e排列组合算法,
排列组合(A、C)的详细算法
有a,b,c,d四个数,用java写一段逻辑,让a输出的概率是30%
下列程序的输出结果是( ) #include void main() { int a = 2,b = 3,c = 0,d
以下程序运行后的输出结果是 main() {int a,b,c; a=1;b=3;c=5; printf(“%d,%d\
以下程序的输出结果是nt a=5,b=4,c=6,d;printf("%d\n",d=a>b?(a>c?a:c) b))
以下程序的输出结果是 int a=5,b=4,c=6,d; printf("%d\n",d=a>b?(a>c?a:c)b
C语言 填空题7、以下程序输出的结果是 0 .main() { int a=5,b=4,c=3,d; d=(a>b>c)
以下程序运行后的输出结果是什么 A ,0 -1 B,0 0 C,-2 -2 D,死循环
有4个数a、b、c、d,设计一个算法要求按由大到小的顺序输出 用条件语句的伪代码写
用IF THEN 语句帮忙编个输入A,B,C,D 四个数,输出最大值的的算法!