Computer >> Máy Tính >  >> Lập trình >> Javascript

Số lượng chữ cái trong JavaScript đếm

Chúng tôi được yêu cầu viết một hàm JavaScript nhận vào một số, chẳng hạn như n. Hàm sẽ đếm các chữ cái trong tên số từ 1 đến n.

Ví dụ - Nếu n =5;

Khi đó các số là một, hai, ba, bốn, năm và tổng số chữ cái là 19, do đó đầu ra sẽ là 19.

Ví dụ

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));

Đầu ra

Điều này sẽ tạo ra kết quả sau -

51
19
1280