永发信息网

java 算法数组(4,6,8,9,10,12,14,15,16,18,20,21,22,24,

答案:3  悬赏:50  手机版
解决时间 2021-03-03 00:21
java 算法数组(4,6,8,9,10,12,14,15,16,18,20,21,22,24,25,26,27,28,30,32,33)21个元素,取出4个元素的所有组合,数值和为80至89,且组合不能重复,请用java编程出来,谢谢!
最佳答案
public class Demo {
public static void main(String[] args) {

int[] a = { 4,6,8,9,10,12,14,15,16,18,20,21,22,24,25,26,27,28,30,32,33};
int count=0;

for(int i=0;i=80){
System.out.println("取出4个元素的所有组合,数值和为80至89: "+a[i]+" "+a[j]+" "+a[k]+" "+a[m]);
count++;}
}
System.out.println("\n 总共组合数: "+count);
}
}
全部回答
public class sorttest { public int[] selectsort(int parray[]) { int temp; for(int i=0;iparray[j]){ temp = parray[i]; parray[i] = parray[j]; parray[j] = temp ; } } } return parray; } public int[] bubblesort(int parray[]) { int temp,i,j; for (j=0;jparray[i+1]){ temp = parray[i]; parray[i] = parray[i+1]; parray[i+1] = temp; } } } return parray; } public static void main(string[] args) { sorttest st = new sorttest(); int test[] = {10,4,8,2,5}; int length = test.length; int i = 0,j = 0; int testselect[] = st.selectsort(test); int testbubble[] = st.bubblesort(test); while(i
  • 2楼网友:何以畏孤独
  • 2021-03-02 04:13
import java.util.Arrays; import java.util.LinkedList; public class Test { public static void recursionSub(LinkedList list, int count, String[] array, int ind,         int start, int... indexs) { start++; if(start > count - 1) { return; } if(start == 0) { indexs = new int[array.length]; } for(indexs[start] = ind; indexs[start] < array.length; indexs[start]++) { recursionSub(list, count, array, indexs[start] + 1, start, indexs); if(start == count - 1) { String[] temp = new String[count]; for(int i = count - 1; i >= 0; i--) { temp[start - i] = array[indexs[start - i]]; } list.add(temp); } } } public static void main(String[] args) { String string = "4,6,8,9,10,12,14,15,16,18,20,21,22,24,25,26,27,28,30,32,33"; String[] A = string.split (","); LinkedList list = new LinkedList (); recursionSub (list, 4, A, 0, -1); for ( String[] strings : list ) { int sum = 0; for(int i = 0; i < strings.length; i++) { int a = Integer.parseInt(strings[i]); sum += a; } if(sum >= 80 && sum < 90) { System.out.println(Arrays.toString(strings).replaceAll(",\\s", " + ") + " = " + sum); } } } }
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯