-5

我遇到了一个问题,如果我能主宰数学,就可以轻松解决。所以如果有人能指出我正确的方向,我会很高兴地感谢这个贡献。

在食谱中,我想每 16 杯添加一个 X 数,例如柠檬的数量。所以当我有 5 杯时,我只会用 1 个柠檬。当我有 17 杯时,我会用 2 个柠檬。当我有 32 杯时,我会添加第三个柠檬,就像每 16 的倍数一样。

解决这个问题的最简单方法是什么?

4

2 回答 2

8

你不需要为此支配数学:

int lemons = cups / 16 + 1; //the +1 there because apparently you want to start
                            //with one cup
于 2012-10-16T15:09:34.807 回答
0

柠檬和杯子之间有直接的关系,所以你可以说:

lemons = ( cups / 16 ) + 1;

或者如果你愿意,你也可以说:

lemons = ( cups >> 4 ) + 1;

这可能会稍微快一些,并且仅适用于(a)16 显然是 2 的幂和(b)如果柠檬和杯子是整数。听起来,您不太可能需要这种优化,而前者就足够了,而且可能更清晰。

于 2012-10-16T15:12:13.467 回答