您的位置:首页 > 编程语言 > Java开发

找出1到19之中数的和为20的所有组合

2014-04-02 13:38 369 查看
可以分拆成多个函数来做,每个函数计算一种长度的组合。两位数字相加时,只能是1-9之间的数,加上10-19之间的数。以此类推。

package test;

public class Sum20 {
public static void main(String[] args) {
sum2num();
System.out.println("----------------");
sum3num();
System.out.println("----------------");
sum4num();
System.out.println("----------------");
sum5num();
}
public static void sum2num(){
for(int i=1;i<10;i++)
for(int j=10;j<20;j++)
if(i+j == 20)
System.out.println(i+"+"+j+"="+20);
}
public static void sum3num(){
for(int i=1;i<6;i++)
for(int j=i+1;j<10;j++)
for(int k=j+1;k<18;k++)
if(i+j+k == 20)
System.out.println(i+"+"+j+"+" + k+"="+20);
}
public static void sum4num(){
for(int i=1;i<4;i++)
for(int j=i+1;j<6;j++)
for(int k=j+1;k<9;k++)
for(int l=k+1;l<15;l++)
if(i+j+k+l == 20)
System.out.println(i+"+"+j+"+" + k+"+" + l+"="+20);
}
public static void sum5num(){
for(int i=1;i<3;i++)
for(int j=i+1;j<4;j++)
for(int k=j+1;k<5;k++)
for(int l=k+1;l<7;l++)
for(int m=l+1;m<11;m++)
if(i+j+k+l+m == 20)
System.out.println(i+"+"+j+"+" + k+"+" + l+"+"+m +"="+20);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java
相关文章推荐