Tell us what’s happening:
I have tried the extremes of the function in order to know if that was the problem. I got the correct answer in relation the third test, but I do not know what to do in relation to the last test.
Your code so far
function numberLetterCounts(limit) {
let listOfNumberLengths = {
0: 0,
1:"one".length,
2:"two".length,
3:"three".length,
4:"four".length,
5:"five".length,
6:"six".length,
7: "seven".length,
8: "eight".length,
9: "nine".length,
10: "ten".length,
11: "eleven".length,
12: "twelve".length,
13: "thirteen".length,
14: "fourteen".length,
15: "fifteen".length,
16: "sixteen".length,
17: "seventeen".length,
18:"eighteen".length,
19: "nineteen".length,
20: "twenty".length,
30: "thirty".length,
40: "forty".length,
50: "fifty".length,
60: "sixty".length,
70: "seventy".length,
80: "eighty".length,
90: "ninety".length,
100: "onehundred".length,
200: "twohundred".length,
300: "threehundred".length,
400: "fourhundred".length,
500: "fivehundred".length,
600: "sixhundred".length,
700: "sevenhundred".length,
800: "eighthundred".length,
900: "ninehundred".length,
1000: "onethousand".length
};
let test = "threehundred".length; //and
let number = 0;
let iteration = limit;
let summatory = 0;
let array = [10,20,30,40,50,60,70,80,90,100,200,300,400,500,600,700,800,900,1000];
while(iteration>0){
number = iteration;
while(number>16){
for(let i = array.length;i>=0;i--){
if(number>array[i] && number>=98){
summatory = summatory + listOfNumberLengths[array[i]] + 3;
number = number - array[i];
}else if (number>=array[i]){
summatory = summatory + listOfNumberLengths[array[i]];
number = number - array[i];
};
};
};
summatory = summatory + listOfNumberLengths[number];
number = number - number;
iteration = iteration - 1;
};
return summatory;
}
console.log(numberLetterCounts(1000));
Your browser information:
User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36
Challenge Information:
Project Euler Problems 1 to 100 - Problem 17: Number letter counts