将组合添加到一起以达到目标数量

时间:2014-10-06 11:35:40

标签: c# wpf

     int bag = int.Parse(txtBag.Text);
        int item1 = int.Parse(txtItem1.Text);
        int item2 = int.Parse(txtItem2.Text);
        int item3 = int.Parse(txtItem3.Text);
        if (item1 <= bag)
        {
            item4 = item1;
            txtGenerate.Text = "item1";
            txtResult.Text = item4.ToString();
        }
        if(Solution(item1, item2))
        {
            txtGenerate.Text = "item1 + item2";
        }
        if(Solution(item2, item3))
        {
            txtGenerate.Text = "item2 + item3";
        }
        if(Solution(item1, item3))
        {
           txtGenerate.Text = "item1 + item3";
        }

    }
        public bool Solution(int item, int itemm)
        {
            int bag = int.Parse(txtBag.Text);
            if (item + itemm > item4 & item + itemm <= bag)
            {
                item4 = item + itemm;
                txtResult.Text = item4.ToString();
                return true;
            }
            return false;
        }
        public bool Solution1(int item, int itemm, int itemmm)
        {
            int bag = int.Parse(txtBag.Text);
            if (item + itemm + itemmm > item4 & item + itemm + itemmm <= bag)
            {
                item4 = item + itemm + itemmm;
                txtResult.Text = item4.ToString();
                return true;
            }
            return false;
        }

我有这个代码,但是我需要它以便我可以在列表中输入任意数量的数字然后给它一个目标,它会找到最接近的组合来获得该数字......

e.g。如果bag = 50且item1 = 46,则item2 = 25&amp; item3 = 24 item2 + item3将是解决方案,因为它给你49 ...

它在WPF中

0 个答案:

没有答案