# Change Correctly determine the fewest number of coins to be given to a customer such that the sum of the coins' value would equal the correct amount of change. ## For example - An input of 15 with [1, 5, 10, 25, 100] should return one nickel (5) and one dime (10) or [0, 1, 1, 0, 0] - An input of 40 with [1, 5, 10, 25, 100] should return one nickel (5) and one dime (10) and one quarter (25) or [0, 1, 1, 1, 0] ## Edge cases - Does your algorithm work for any given set of coins? - Can you ask for negative change? - Can you ask for a change value smaller than the smallest coin value? ## Setup Go through the setup instructions for JavaScript to install the necessary dependencies: http://exercism.io/languages/javascript/installation ## Running the test suite The provided test suite uses [Jasmine](https://jasmine.github.io/). You can install it by opening a terminal window and running the following command: ```sh npm install -g jasmine ``` Run the test suite from the exercise directory with: ```sh jasmine change.spec.js ``` In many test suites all but the first test have been marked "pending". Once you get a test passing, activate the next one by changing `xit` to `it`. ## Source Software Craftsmanship - Coin Change Kata [https://web.archive.org/web/20130115115225/http://craftsmanship.sv.cmu.edu:80/exercises/coin-change-kata](https://web.archive.org/web/20130115115225/http://craftsmanship.sv.cmu.edu:80/exercises/coin-change-kata) ## Submitting Incomplete Solutions It's possible to submit an incomplete solution so you can see how others have completed the exercise.