Hacker Rank Solutions: Chocolate Feast

Hacker Rank Solutions: Chocolate Feast

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
def exchange(wrappers, number_for_free)
  return 0 if wrappers < number_for_free
  free_sweets = wrappers / number_for_free
  left_over =  wrappers % number_for_free

  if left_over == 0 && free_sweets < number_for_free
    return free_sweets
  else
    return free_sweets + exchange(free_sweets + left_over, number_for_free)
  end
end


test_cases = $stdin.gets.to_i

test_cases.times do
  money, chocolate_price, number_for_free = $stdin.gets.split(' ').collect{ |x| x.to_i }

  bought_sweets = money/chocolate_price

  $stdout.puts  bought_sweets + exchange(bought_sweets, number_for_free)
end

Comments