构建硬币组合c#代码(开始循环)

时间:2015-06-27 05:44:23

标签: c# combinations

我试图解决这个问题:"有一个1,2和5美元的硬币,检查你能从这些硬币组合中获得多少种可能的方法$ 10"

我无法找到适合这些的好方案,因为我的代码显示只有7种组合。任何人都可以帮我纠正我的思维方式和代码吗?

int combination_amount = 0;
int cash_amount = 10;
int a , b , c;
for (a = 0; a < 10; a++)
{
    for (b = 0; b < 5; b++)
    {
        for (c = 0; c < 2; c++)
        {
            if (1 * a + 2 * b + 5 * c == 10)
            {
                combination_amount += 1;
            }
        }
    }
}
Console.WriteLine("There is a total number of {0} combinations amount ", combination_amount);

1 个答案:

答案 0 :(得分:1)

问题在于for循环的退出条件,您使用&#34;&lt;&#34;,这意味着包含限制值,因此你会错过像&#34; 5次2&#34;

的解决方案

使用&#34;&lt; =&#34;重写您的循环而不是&#34;&lt;&#34;,你应该得到正确的价值。