回答編集履歴

1 不具合箇所がもうひとつあったので追記

hope_mucci

hope_mucci score 2813

2020/07/10 07:54  投稿

計算式は、`単価×(個数の半分(整数位未満切り捨て)+ 個数を2で割った余り)`で良いでしょう。
質問の式だと、`yen * item / 2`が `個数の半分(整数位未満切り捨て)`の切り捨て部分を考慮できていません。
> // 10が正解だが、8になる
え、400が正解では?
え、400が正解では?
### 追記
もう一つ、剰余の計算部分`yen * item % 2`は、`*`と`%`の優先順位が等価なため、単価×数量の計算結果を2で割った余りになってしまって期待通りの結果になりません。
演算子の優先順位がよくわからないなら、1行で書かずに計算結果を1つ一つ変数に入れてみましょう。

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る