Posts

Prime Number Program in Deluge

A prime number is a natural number greater than 1 that has exactly two factors:

  • 1 and the number itself

That’s it — no other number can divide it exactly.


Examples of Prime Numbers

2, 3, 5, 7, 11, 13, 17, 19, 23…


Not Prime (Composite) Numbers

These numbers have more than two factors:

  • 4 → factors: 1, 2, 4
  • 6 → factors: 1, 2, 3, 6
  • 9 → factors: 1, 3, 9


Special Points

  • 1 is NOT a prime number (it has only one factor).
  • 2 is the only even prime number (all other even numbers are divisible by 2).


Method 1: Generate a List with leftPad

number = 29;

isPrime = true;


if(number <= 1)

{

    isPrime = false;

}

else

{

    // Generate a list of length (number - 2 + 1) = (number - 1)

    // So indices run from 0 to (number - 2)

    listLength = number - 1;

    loopList = "".leftPad(listLength - 1).toList("");  // creates list with that many dummy elements


    counter = 2;

    for each dummy in loopList

    {

        // 'counter' will run: 2, 3, 4, ..., number - 1

        if(number % counter == 0)

        {

            isPrime = false;

            break;

        }


        counter = counter + 1;

    }

}


info (number + " is prime? " + isPrime);


Method 2:Optimized Check (Using Square Root + List Trick)

number = 29;
isPrime = true;

if(number <= 1)
{
    isPrime = false;
}
else
{
    limit = (sqrt(number)).toLong();
    loopLen = limit - 1; // because we'll start from 2
    loopList = "".leftPad(loopLen - 1).toList("");

    counter = 2;
    for each dummy in loopList
    {
        if(number % counter == 0)
        {
            isPrime = false;
            break;
        }
        counter = counter + 1;
    }
}

info number + " prime? " + isPrime;

Post a Comment