java程式設計:從陣列(1,2,4,6,9)中列出所有相加等於20的組合,例如9+9+2=20
阿新 • • 發佈:2019-01-02
原創
public class Test1 {
public static void main(String[] args) {
int[] nums = {1,2,4,6,9};
int sum=20;
int count=0;
for(int a=0;a<20/nums[4]+1;a++){
for(int b=0;b<20/nums[3]+1;b++){
for(int c=0;c<20/nums[2]+1;c++){
for (int d=0;d<20/nums[1]+1;d++){
for(int e=0;e<20/nums[0]+1;e++){
int sums=a*nums[4]+b*nums[3]+c*nums[2]+d*nums[1]+e*nums[0];
if(sums==sum){
if(e!=0)System.out.print(nums[0]+"*"+e);
if (d!=0){
if(e!=0)System.out.print("+");
System.out.print(nums[1]+"*"+d);
}
if(c!=0){
if(e!=0 ||d!=0)System.out.print("+");
System .out.print(nums[2]+"*"+c);
}
if(b!=0){
if(e!=0 ||d!=0||c!=0)System.out.print("+");
System.out.print(nums[3]+"*"+b);
}
if(a!=0){
if(e!=0||d!=0||c!=0||b!=0)System.out.print("+");
System.out.print(nums[4]+"*"+a);
}
System.out.println("="+sum);
count += 1;
continue;
}
}
}
}
}
}
System.out.println("共有"+count+"種情況。");
}
}