Little Bobby loves chocolate. He frequently goes to his favorite 5 & 10 store, Penny Auntie, to buy them. They are having a promotion at Penny Auntie. If Bobby saves enough wrappers, he can turn them in for a free chocolate.

**Example**

n=15 c=3 m=2

He has 15 to spend, bars cost 3, and he can turn in 2 wrappers to receive another bar. Initially, he buys 5 bars and has 5 wrappers after eating them. He turns in 4 of them, leaving him with 1, for 2 more bars. After eating those two, he has 3 wrappers, turns in 2 leaving him with 1 wrapper and his new bar. Once he eats that one, he has wrappers and turns them in for another bar. After eating that one, he only has 1 wrapper, and his feast ends. Overall, he has eaten 5+2+1+1=9 bars.

**Function Description**

Complete the chocolateFeast function in the editor below.

chocolateFeast has the following parameter(s):

int n: Bobby’s initial amount of money

int c: the cost of a chocolate bar

int m: the number of wrappers he can turn in for a free bar

Returns

int: the number of chocolates Bobby can eat after taking full advantage of the promotion

Note: Little Bobby will always turn in his wrappers if he has enough to get a free chocolate.

**Input Format**

The first line contains an integer,t , the number of test cases to analyze.

Each of the next t lines contains three space-separated integers: n, c, and m. They represent money to spend, cost of a chocolate, and the number of wrappers he can turn in for a free chocolate.

**Sample Input**

STDIN Function ----- -------- 3 t = 3 (test cases) 10 2 5 n = 10, c = 2, m = 5 (first test case) 12 4 4 n = 12, c = 4, m = 4 (second test case) 6 2 2 n = 6, c = 2, m = 2 (third test case)

**Sample Output**

6 3 5

## Chocolate Feast HackerRank Solution in C

#include <stdio.h> #include <string.h> #include <math.h> #include <stdlib.h> int main() { int t, n, c, m; scanf("%d", &t); while ( t-- ) { scanf("%d%d%d",&n,&c,&m); n/=c; int k = n; while (n >= m ) { k++,n-=(m-1); } printf("%d\n",k); } return 0; }

## Chocolate Feast HackerRank Solution in C++

#include <cmath> #include <cstdio> #include <vector> #include <iostream> #include <algorithm> using namespace std; int main() { /* Enter your code here. Read input from STDIN. Print output to STDOUT */ int t,n,c,m; cin>>t; while(t--){ cin>>n>>c>>m; int ans=0; ans+=n/c; int x=n/c; while(x>=m){ ans+=x/m; x=x/m+x%m; } cout<<ans<<endl; } return 0; }

## Chocolate Feast HackerRank Solution in Java

import java.io.*; import java.util.*; import java.text.*; import java.math.*; import java.util.regex.*; public class Solution { public static void main(String[] args) { Scanner in = new Scanner(System.in); int t = in.nextInt(); for(int i = 0; i < t; i++){ System.out.println(f(in.nextInt(), in.nextInt(), in.nextInt())); } } private static long f(int n, int a, int b){ return n/a + g(n/a, b); } private static long g(int a, int b){ if(a < b) return 0; else return a/b + g(a-a/b*b + a/b, b); } }

## Chocolate Feast HackerRank Solution in Python

T = int(raw_input()) for t in xrange(T): N, C, M = [int(e) for e in raw_input().strip().split()] chocolates = 0 wrappers = 0 while N >= C: nc = N // C N -= (nc * C) chocolates += nc wrappers += nc while wrappers >= M: wr = wrappers // M wrappers -= M * wr wrappers += wr chocolates += wr print chocolates

## Chocolate Feast HackerRank Solution in C#

using System; using System.Collections.Generic; using System.Text.RegularExpressions; namespace ChocolateFeast { class Program { static void Main(string[] args) { int cases = int.Parse(Console.ReadLine()); for (int i = 0; i < cases; i++) { int res = 0; string[] temp = Console.ReadLine().Split(' '); int candies = int.Parse(temp[0]) / int.Parse(temp[1]); res += candies; int wrapper = res; while (wrapper >= int.Parse(temp[2])) { int extra = wrapper / int.Parse(temp[2]); wrapper %= int.Parse(temp[2]); res += extra; wrapper += extra; } Console.WriteLine(res); } Console.ReadLine(); } } }

**Attempt Chocolate Feast HackerRank Challenge**

Link – https://www.hackerrank.com/challenges/chocolate-feast/

**Next HackerRank Challenge Solution **

Link – https://exploringbits.com/service-lane-hackerrank-solution/

Aayush Kumar Gupta is the founder and creator of ExploringBits, a website dedicated to providing useful content for people passionate about Engineering and Technology. Aayush has completed his Bachelor of Technology (Computer Science & Engineering) from 2018-2022. From July 2022, Aayush has been working as a full-time Devops Engineer.