Prime digits sum of a number in JavaScript

We are required to write a JavaScript function that takes in a number as the first and the only argument. The function should then sum all the digits of the number that are prime and return the sum as a number.

For example −

If the input number is −

const num = 67867852;

Then the output should be −

const output = 21;

because 7 + 7 + 5 + 2 = 21 −

Understanding Prime Digits

Prime digits are single-digit prime numbers: 2, 3, 5, and 7. The digits 0, 1, 4, 6, 8, and 9 are not prime numbers.

Using String Method

This approach converts the number to a string and checks each character:

const num = 67867852;

const sumPrimeDigits = (num) => {
    const primes = '2357';
    let sum = 0;
    
    // Convert to string and iterate through each digit
    const numStr = num.toString();
    for (let digit of numStr) {
        if (primes.includes(digit)) {
            sum += parseInt(digit);
        }
    }
    return sum;
};

console.log(sumPrimeDigits(num));
21

Using Mathematical Method

This approach extracts digits mathematically without string conversion:

const num = 67867852;

const sumPrimeDigits = (num) => {
    const primes = '2357';
    let sum = 0;
    
    while (num) {
        const digit = num % 10;
        if (primes.includes('' + digit)) {
            sum += digit;
        }
        num = Math.floor(num / 10);
    }
    return sum;
};

console.log(sumPrimeDigits(num));
21

Step-by-Step Breakdown

Let's trace through the number 67867852:

const num = 67867852;

const sumPrimeDigitsWithTrace = (num) => {
    const primes = '2357';
    let sum = 0;
    let original = num;
    
    console.log(`Processing number: ${original}`);
    
    while (num) {
        const digit = num % 10;
        console.log(`Digit: ${digit}`);
        
        if (primes.includes('' + digit)) {
            sum += digit;
            console.log(`  Prime digit found! Sum = ${sum}`);
        } else {
            console.log(`  Not a prime digit`);
        }
        
        num = Math.floor(num / 10);
    }
    
    return sum;
};

console.log(`Final sum: ${sumPrimeDigitsWithTrace(num)}`);
Processing number: 67867852
Digit: 2
  Prime digit found! Sum = 2
Digit: 5
  Prime digit found! Sum = 7
Digit: 8
  Not a prime digit
Digit: 7
  Prime digit found! Sum = 14
Digit: 6
  Not a prime digit
Digit: 8
  Not a prime digit
Digit: 7
  Prime digit found! Sum = 21
Digit: 6
  Not a prime digit
Final sum: 21

Comparison

Method Readability Performance Memory Usage
String Method High Good Higher (string creation)
Mathematical Method Medium Better Lower

Conclusion

Both methods effectively sum prime digits in a number. The mathematical approach is more memory-efficient, while the string method is more readable and easier to understand.

Updated on: 2026-03-15T23:19:00+05:30

359 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements