เราต้องเขียนฟังก์ชัน JavaScript ที่รับตัวเลข เช่น n ฟังก์ชันควรนับตัวอักษรในชื่อตัวเลขตั้งแต่ 1 ถึง n
ตัวอย่างเช่น − ถ้า n =5;
จากนั้นตัวเลขก็คือหนึ่ง สอง สาม สี่ ห้า และจำนวนตัวอักษรทั้งหมดคือ 19 ดังนั้นผลลัพธ์ควรเป็น 19
ตัวอย่าง
const sumUpto = (num = 1) => { let sum = 0; const lenHundred = 7; const lenThousand = 8; const lenPlaceOnes = [0,3,3,5,4,4,3,5,5,4]; const lenPlaceTens = [0,3,6,6,5,5,5,7,6,6]; for (let i = 1; i <= num; i++) { let placeOnes = i % 10; let placeTens = Math.floor(i / 10) % 10; let placeHundreds = Math.floor(i / 100) % 10; let placeThousands = Math.floor(i / 1000) % 10; sum += lenPlaceOnes[placeOnes]; sum += lenPlaceTens[placeTens]; if (placeHundreds != 0) { sum += lenHundred + lenPlaceOnes[placeHundreds]; } if (placeThousands != 0) { sum += lenThousand + lenPlaceOnes[placeThousands]; } if (placeTens === 1) { switch (placeOnes) { case 4: case 6: case 7: case 9: sum += 1; break; } } if (i > 100 && i % 100 != 0) { sum += 3; } } return sum; } console.log(sumUpto(12)); console.log(sumUpto(5)); console.log(sumUpto(122));
ผลลัพธ์
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
51 19 1280