-5

数学を支配できれば簡単に解ける問題に遭遇しました。ですから、誰かが私を正しい方向に向けることができれば、この貢献に感謝します。

レシピで、16 カップごとに X の数 (レモンの数など) を追加したいと考えています。なので、5杯飲むときはレモン1個だけ。17杯飲むときはレモン2個分。32 カップになったら、3 番目のレモンを追加し、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 に答える