Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Số chữ cái trong việc đếm số trong JavaScript


Cần viết hàm JavaScript nhận một số n. Hàm đếm tổng số chữ cái trong tên các số từ 1 đến n.

Ví dụ - Nếu n = 5; Các số là one, two, three, four, five. Tổng chữ cái là 19, nên đầu ra 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));

Kết quả

Điều này sẽ tạo ra đầu ra sau:

51 19 1280