Tell us what’s happening:
Describe your issue in detail here.
I’m trying to do problem 31. You are supposed to compute the number of ways to make n pence with different coins. I’m pretty sure this solution should work. It might be too slow. But when I run the tests I fail them all.
It’s the weirdest thing. I can do console.log(coinSums(50)) and the console will say: 451. But when I submit to the tests, it says coinsSums(50) is supposed to output 451. I don’t see the difference, so I’m not sure how to fix my solution.
**Your code so far**
const denominations = [200, 100, 50, 20, 10, 5, 2, 1];
let coins = Array(8).fill(0);
function coinSums(n) {
//make the biggest denomination
for(let i = 0; i < coins.length; i++){
while(checkValue(coins) + denominations[i] <= n){
coins[i]++;
}
}
let count = 1;
while(coins[coins.length-1] < n){
coins = break2ndSmallestCoin(coins, n);
count++;
}
return count;
}
function break2ndSmallestCoin(coins, n){
for(let i = coins.length - 2; i >= 0; i--){
if(coins[i] > 0){
coins[i]--;
for(let j = i + 1; j < coins.length; j++){
coins[j] = 0;
}
for(let j = i + 1; j < coins.length; j++){
while(checkValue(coins)+denominations[j] <= n){
coins[j]++;
}
}
return coins;
}
}
}
function checkValue(coins){
return coins.reduce((sum, coins, i)=>sum + denominations[i] * coins, 0);
}
console.log(coinSums(50));
**Your browser information:**
User Agent is: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.1.2 Safari/605.1.15
Challenge: Problem 31: Coin sums
Link to the challenge: