Welcome to collectivesolver - Programming & Software Q&A with code examples. A website with trusted programming answers. All programs are tested and work.

Contact: aviboots(AT)netvision.net.il

Semrush - keyword research tool

Turn ChatGPT, Claude, Gemini, And CoPilot Into Your Personal Assistant, Business Coach, Content Creator, And More

AFFILIATE MARKETING Your all-in-one performance engine Manage affiliates, creators, and customer referrals in one unified platform—turning every partnership into measurable growth
Secure & Reliable Web Hosting, Free Domain, Free SSL, 1-Click WordPress Install, Expert 24/7 Support

Boost your online presence with premium web hosting and servers

Disclosure: My content contains affiliate links.

42,683 questions

55,435 answers

573 users

How to calculate all the less than 500 additive prime numbers in TypeScript

1 Answer

0 votes
// Additive primes: primes whose sum of digits is also prime

// Check if a number is prime
function isPrime(n: number): boolean {
    if (n < 2) return false;
    if (n % 2 === 0) return n === 2;
    if (n % 3 === 0) return n === 3;

    for (let i: number = 5; i * i <= n; i += 4) {
        if (n % i === 0) return false;
        i += 2;
        if (n % i === 0) return false;
    }
    return true;
}

// Compute the sum of digits of a number
function sumDigits(n: number): number {
    let sum: number = 0;
    while (n > 0) {
        sum += n % 10;
        n = Math.floor(n / 10);
    }
    return sum;
}

// Check if a number is an additive prime
function isAdditivePrime(n: number): boolean {
    return isPrime(n) && isPrime(sumDigits(n));
}

function main(): void {
    const TOP = 500;
    let count: number = 0;
    let line: string = "";

    for (let n: number = 1; n < TOP; n++) {
        if (isAdditivePrime(n)) {
            line += n.toString().padStart(3, " ") + " ";
            count++;

            if (count % 10 === 0) {
                console.log(line.trimEnd());
                line = "";
            }
        }
    }

    if (line.length > 0) console.log(line.trimEnd());

    console.log();
    console.log(`Total additive primes = ${count}`);
}

main();



/*
run:

  2   3   5   7  11  23  29  41  43  47
 61  67  83  89 101 113 131 137 139 151
157 173 179 191 193 197 199 223 227 229
241 263 269 281 283 311 313 317 331 337
353 359 373 379 397 401 409 421 443 449
461 463 467 487

Total additive primes = 54

*/

 



answered May 4 by avibootz
...