1. 程式人生 > >java程式設計:從陣列(1,2,4,6,9)中列出所有相加等於20的組合,例如9+9+2=20

java程式設計:從陣列(1,2,4,6,9)中列出所有相加等於20的組合,例如9+9+2=20

原創

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+"種情況。"); } }