比如有一个数字序列从1-50,每次取其中5个数满足给定的值,但是不同重复取相同的数字.
列出每一次所取到数字,至到从这50个数中再也找不能满足给定值时结束.

解决方案 »

  1.   

    5个数满足给定的值?BTW唉,偶没读懂题目,回家补习语文去了……
      

  2.   

    treeroot(旗鲁特)
    对于就是这个意思,要求一个比较合理的算法.
      

  3.   

    for(int i1=1;i1<=47;i1++){
                for(int i2=i1;i2<=48;i2++){
                    for(int i3=i2;i3<=49;i3++){
                        for(int i4=i3;i4<=50;i4++){
                            int i5=95-i1-i2-i3-i4;
                            if (i5>0) System.out.println(i1 + "+" + i2+"+"+i3+"+"+i4+"+"+(95-i1-i2-i3-i4)+"=95");
                        }
                    }
                }
            }
      

  4.   

    for(int i1=1;i1<=46;i1++){
                for(int i2=i1+1;i2<=47;i2++){
                    for(int i3=i2+1;i3<=48;i3++){
                        for(int i4=i3+1;i4<=49;i4++){
                            int i5=95-i1-i2-i3-i4;
                            if (i5>i4 && i5<=50) System.out.println(i1+"+"+i2+"+"+i3+"+"+i4+"+"+i5+"=95");
                        }
                    }
                }
            }
      

  5.   

    treeroot(旗鲁特)
    找到几个都没问题,或一个没有找到都没有问题.贪婪法的复杂太高.
    trumplet(检查)
    能不能讲一下仁兄的思路,看不太懂.
      

  6.   

    haha,我那是最笨的算法,不会看不懂吧
      

  7.   

    总觉此方法不是太好.请求CSDN的高手提供一个思路.集思广益.....