java 编程有 1到11个数字 分别就是01 02 03 ..到11, 5个数一组合,
比如“01,02,03,04,05”,1到11个数有多少不重复的组合,“02,01,03,04,05”,这样属于重复。...
比如“01,02,03,04,05”, 1到11个数有多少不重复的组合,“02,01,03,04,05”,这样属于重复。
展开
3个回答
展开全部
写五个for循环取数;;然后将五个数字排序以字符串的形式加起来存入set集合;最后判断set集合的size就可以。。
贴出部分代码;参考
for(int i=0;i<11-5;i++){
for(int j=i+1;j<11-4;j++){
for(int k=j+1;k<11-3;k++){
for(int m=k+1;m<11-2;m++){
for(int n=m+1;n<11-1;n++){
for(int w=n+1;w<11-0;w++){}
}
}
}
}
}
贴出部分代码;参考
for(int i=0;i<11-5;i++){
for(int j=i+1;j<11-4;j++){
for(int k=j+1;k<11-3;k++){
for(int m=k+1;m<11-2;m++){
for(int n=m+1;n<11-1;n++){
for(int w=n+1;w<11-0;w++){}
}
}
}
}
}
追问
这就是这么写的!5 个for会死人的!求自调用
追答
public static void main(String[] args) {
Integer[] count = {1,2,3,4,5,6,7,8,9,10,11};
Integer cc = 0;
for(int i=0;i<11-5;i++){
for(int j=i+1;j<11-4;j++){
for(int k=j+1;k<11-3;k++){
for(int m=k+1;m<11-2;m++){
for(int n=m+1;n<11-1;n++){
for(int w=n+1;w<11-0;w++){
cc++;
System.out.println("第 "+cc+" 种组合"+count[i]+" "+count[j]+" " +
""+count[k]+" "+count[m]+" "+count[n]+" "+count[w]);
}
}
}
}
}
}
}
//大哥,递归更耗时耗内存吧(总共462种组合、符合数学结果)
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |