我遇到了一个问题(可能是由于睡眠不足!),我正在尝试解决C#中的数学问题.
假设我有一台饮料机,我有三排可以装满可乐的空行.我手里拿着17罐可乐,我必须每次填充一排.
例如...
通过1:
将可乐添加到第1行.饮料= 1
将可乐添加到第2行.饮料= 1
将可乐添加到第3行.饮料= 1
通过2:
将可乐添加到第1行.饮料= 2
将可乐添加到第2行.饮料= 2
将可乐添加到第3行.饮料= 2
...
通过6
将可乐添加到第1行.饮料= 6
将可乐添加到第2行.饮料= 6
将可乐添加到第3行.饮料= 5(此时不再有饮料)
出于某种原因,我完全迷失了.有人可以帮忙吗?!
非常快速和无痛,只需要一个循环,而不是两个嵌套循环.您只需要一点数学来获得数组的正确索引:
int[] Cola = {0,0,0};
int Rows = Cola.Length;
int Drinks = 17;
for (int i = Drinks; i > 0; i--)
{
Cola[(Drinks - i) % Rows]++;
}
Console.WriteLine("Row 1 has " + Cola[0] + " cans.");
Console.WriteLine("Row 2 has " + Cola[1] + " cans.");
Console.WriteLine("Row 3 has " + Cola[2] + " cans.");
Run Code Online (Sandbox Code Playgroud)
这会产生这个输出:
Row 1 has 6 cans.
Row 2 has 6 cans.
Row 3 has 5 cans.
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8648 次 |
| 最近记录: |