-6

私はシステムを作っています。私が欲しいのは、6つのアイテムごとに5つ購入する必要があるということです(つまり、各アイテムが5の場合、6つのアイテムは30ではなく25で、12、18、24などと同じです...)

どうすればいいですか?

私はそれがこのようなものになるだろうと思いました:

if (amount % 6 == 0) {

    }</code>

しかし、私が正しければ、それは一度だけそれを得るでしょう。

4

2 に答える 2

1

モジュラス演算子は、この状況では機能しません。したがって、効率的なソリューションのために。

int numberOfItems = 17; //however many there are
int discount = numberOfItems / 6;

double priceToPay = price * (numOfItems - discount);

割引をint受けることで、除算後に四捨五入や小数部分が得られなくなります。

于 2013-03-24T00:02:11.100 に答える
0

モジュラスを使用すると、6、12などのアイテムがある場合にのみ割引が適用されます。7つのアイテムがある場合はどうですか?割引はありません(6で割り切れません)!したがって、次のようになります。

    int numOfItems = 6; //this will be different every time
    //copy numOfItems because it will be modified
    int temp = numOfItems;

    double price = 5;
    int discount = 0;

    //While there are at least 6 items
    while (temp >= 6) {
        discount++; //discount one item
        temp -= 6; //take away 6
    }

    //you have to pay for the number of items, but not the discounted items
    double amountToPay = price * (numOfItems - discount);

このように、あなたが6を奪うたびに、あなたは1つのアイテムにお金を払う必要はありません。

于 2013-03-23T23:53:43.833 に答える