在数1-19中,求两数之和等于20的所有组合,但不能重复也就是说:1+19 跟19+1 的性质是一样的先谢谢了

解决方案 »

  1.   


    public static void main(String[] args) {
    // TODO Auto-generated method stub for(int i=1;i<=10;i++){
    int j=20-i;
    System.out.println("当i="+i+",j="+j+"时,他们的和为20!");
    }
    }
      

  2.   

    这样考虑:1-19 两数之和等于20。以10为分界线。从1开始找找到10为止。
    int y=0;
    int sum=20;
    for(int x=1;x<=10;i++){
      y=sum-x;
      System.out.println("x="+x,"y="+y);
    }
      

  3.   


    int start = 1;
    int end = 20 - start;
    while(start < end) {
        System.out.println("<" + (start++) + " , " + (end--) + ">");
    }
    /*
    <1 , 19>
    <2 , 18>
    <3 , 17>
    <4 , 16>
    <5 , 15>
    <6 , 14>
    <7 , 13>
    <8 , 12>
    <9 , 11>
    */
      

  4.   

    class Test {    public static void main(String[] args) {
            new Test().getNum(20);
        }    public void getNum(int sum){
            for (int i = 1; i < sum/2; i++) {
                println("第" + i + "组:<" + i + "," + sum-i + "〉" );
            }
        }
    }
      

  5.   

    public static void main(String[] args){
    int[] a ={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19};
    for(int i=0;i<a.length/2;i++){
    for(int j=0;j<a.length;j++){
    if(a[i]+a[j]==20){
    System.out.println(a[i]+","+a[j]);
    }
    }
    }
    }
      

  6.   


    public class GetSun { public static void main(String[] args) {
    int sum = 0;
    for(int i = 1; i <= 19; i++){
    for(int j = 1; j <= 19; j++){
    if(i + j == 20){
    if(!(i > j))
    System.out.println(i + " " + j);
    }
    }
    }
    }
    }
      

  7.   

    五楼的更好些,把自己的有修改了一下public class GetSun { public static void main(String[] args) {
    int sum = 0;
    for(int i = 1; i <= 19; i++){
    for(int j = 1; j <= 19; j++){
    if((i + j == 20) && (i < j)){
    System.out.println(i + " " + j);
    }
    }
    }
    }
    }输出:
    1 19
    2 18
    3 17
    4 16
    5 15
    6 14
    7 13
    8 12
    9 11
    10 10