## Problem: Chocolate Feast

Little Bob loves chocolates and goes to the store with a $N bill with $C being the price of each chocolate. In addition, the store offers a discount: for every M wrappers he gives the store, he’ll get one chocolate for free. How many chocolates does Bob get to eat?

Input Format:

The first line contains the number of test cases T (<=1000).

Each of the next T lines contains three integers N, C and M

Output Format:

Print the total number of chocolates Bob eats.

Constraints:

2 <= N <= 100000

1 <= C <= N

2 <= M <= N

Sample input

```
3
10 2 5
12 4 4
6 2 2
```

Sample Output

```
6
3
5
```

Explanation

In the first case, he can buy 5 chocolates with $10 and exchange the 5 wrappers to get one more chocolate thus making the total number of chocolates he can eat as 6

In the second case, he can buy 3 chocolates for $12. However, it takes 4 wrappers to get one more chocolate. He can’t avail the offer and hence the total number of chocolates remains 3.

In the third case, he can buy 3 chocolates for $6. Now he can give 2 of this 3 wrappers and get 1 chocolate. Again, he can use his 1 unused wrapper and 1 wrapper of new chocolate to get one more chocolate. Total is 5.

Code:

#include <stdio.h>

long Chocolate_Feast(long a,long b,long c);

int main() {

/* Enter your code here. Read input from STDIN. Print output to STDOUT */

int n,i;

long N,C,M,a[1001];

scanf(“%d”,&n);

for(i=0;i<n;++i){

scanf(“%ld%ld%ld”,&N,&C,&M);

a[i]=Chocolate_Feast(N,C,M);

}

/*As usual, this fragment will help us avoid leaving a redundant character ‘\n’*/

for(i=0;i<n;++i){

printf(“%ld”,a[i]);

if(i!=n-1)

printf(“\n”);

}

return 0;

}long Chocolate_Feast(long a,long b,long c){

long Amount,Wrapper,Temp;

Amount=a/b;

Wrapper=Amount;

/*The condition to eliminate the while loop is when the wrapper less than c*

/*c is the amount of wrappers that used to exchange a new chocolate*/

while((Wrapper/c)>0){

Temp=Wrapper/c;

/*Compute the number of new wrappers, always less than the previous step*/

Wrapper=Wrapper%c + Temp;

Amount+=Temp;

}

return Amount;

}

## Reply