我正在尝试解决这个问题,我发现需要的硬币数量最少,以便从当前的浮动中分配更改。我已经实现了逻辑,它目前正在相应地工作,但是我需要存储硬币值和必要的数量以便分配更改。我想将它存储在一个二维数组中,虽然我不能让它工作。到目前为止,这是我实现的逻辑:
// Reverse Sort Array
Array.Reverse(quantities); // quantities for each coin
Array.Reverse(coins); // coins start from $2 -> 0.05cents
int counter = 0;
int coin;
for (int i = 0; i < coins.Length; i++)
{
coin = Math.Min(quantities[i], (int)(change / coins[i]));
counter += coin;
change -= coin * coins[i];
}
Console.WriteLine("Number of coins = {0}", counter); // total coins
}
任何人都可以就如何做到这一点提供任何建议吗?我不被允许在Collection类中使用任何东西,如果可以的话我相信我会。所有答案都表示赞赏。 欢呼声。
答案 0 :(得分:0)
为什么不使用单个数组和自定义类? 在现实世界中,您可能会选择字典(或排序字典), 但它看起来像Sayse写的一个练习。 您可以创建一个包含数量,每个硬币的价值和硬币总价值的简单类,并使用此类进行计算。