answersLogoWhite

0


Best Answer

Checking if a number is prime is a popular question for programming competitions.

It's also necessary when implementing software that generates private keys for RSA public-key encryption.

There are several formulas for computing the prime numbers such as Willans' Formulas and Wormell's Formula. These two are used to generate a Prime number.

The simplest way to check if a given number is prime (primality testing) is to search for a factor.

Try possible factors and see if the number can be evenly divided into any of them.

In C, that simple check is:

bool IsPrime(long int number)

{

if (number < 2) return false;

if (number <= 3) return true;

long int ns, temp;

for (ns = 3; ns < number; ns++)

{

temp = number / ns;

if (temp*ns number) {

printf("The smallest prime factor of %li is %li .\n", number, ns );

printf("The product of %li * %li is %li .\n", ns, temp, number );

return false; //can be divided!

}

}

return true;

}

This can be sped up a little more by only checking primes (rather than every odd number), perhaps using the sieve of Eratosthenes to find those primes.

Because all primes are integers, it's usually best not to use floating-point when working with them.

Even with all known speedups, every known method for factorizing a number is still too slow for some applications -- it would take centuries to check the numbers used in RSA public-key encryption -- and so people have developed much faster, much more complicated algorithms for primality testing.

These fast algorithms can prove that a number is almost certainly prime; however, when they indicate that a number is composite, they don't reveal any of the factors of that composite number.

Such fast algorithms include

the Fermat primality test,

the cyclotomy test,

the Lucas test,

the Proth test.

the Miller-Rabin primality test,

the Solovay-Strassen primality test, and

the AKS primality test.

The implementation, of those formula, unfortunately cannot be listed in here.

User Avatar

Wiki User

11y ago
This answer is:
User Avatar

Add your answer:

Earn +20 pts
Q: How do you write an algorithm to check whether a number is a prime number or not?
Write your answer...
Submit
Still have questions?
magnify glass
imp
Continue Learning about Math & Arithmetic

Write an algorithm to check whether a number is a prime number or not?

You can write out this algorithm. This will then be programmed into the device to make determining prime numbers easier.


Write a java programme to check whether the number is twin prime or not?

Find a prime number, add 2 to the number. Check if the new number is prime. IE : 3 is prime. 3+2 =5. 5 is prime. (3,5) are twin primes.


Does any whole number multiply to get 29?

29 is a prime number, meaning it has no smaller factors. For any number up to 120, to check whether it is prime or not, it is sufficient to check whether it is divisible by the first four prime numbers (2, 3, 5 and 7).


How do you find Number of prime numbers below certain number?

You just have to work out it,take each number below it and check whether it is prime or not.


Algorithm to find whether a number is prime or not?

check if 2 divides the Numbercheck if 3 divides the Numbercheck if 5 divides the Number...check if any prime numbers less than the square root of the Number divide the NumberIf any do, the Number is composite; otherwise the Number is prime.This is called the Sieve of Erasthenes.An easy way to check if a prime number divides the Number in base ten (if you don't have a calculator) is to add or subtract 1 or 3 times the prime number to the Number, so that the sum or difference is a multiple of ten (if the prime number isn't 2 or 5). Knock off the zero. If the prime number divides the new number, it also divides the Number; otherwise it doesn't.

Related questions

Write an algorithm to check whether a number is a prime number or not?

You can write out this algorithm. This will then be programmed into the device to make determining prime numbers easier.


Algorithm to find prime numbers below ten?

Take each number in turn, call it "n", and check whether it has any factors f, such that 1 < f < n. If it doesn't, it is a prime number.Take each number in turn, call it "n", and check whether it has any factors f, such that 1 < f < n. If it doesn't, it is a prime number.Take each number in turn, call it "n", and check whether it has any factors f, such that 1 < f < n. If it doesn't, it is a prime number.Take each number in turn, call it "n", and check whether it has any factors f, such that 1 < f < n. If it doesn't, it is a prime number.


How do mathematicians determine whether or not really large numbers are prime?

A primality test is an algorithm for determining whether an input number is prime, but I'm willing to bet that a lot of mathematicians type "prime number calculator" into their web browsers.


Is there an algorithm that yields only prime numbers?

What exactly do you mean "yields only prime numbers"? If you mean a formula that when given the numbers n=1, 2, 3, ... and so on generates the nth prime number (or a different prime number for each n) then no. If you mean an algorithm whereby a number can be tested to be a prime number then yes. (Using this prime_test algorithm, a simple algorithm can be written that would supply numbers one at a time to it and use its result to decide whether to yield the tested number or not, only yielding those numbers which pass the test.)


How do you find prime numbers between 2 and 70?

You can check each individual number, whether it is a prime number. For numbers below 100, it is enough to check whether they are divisible by 2, by 3, by 5, and by 7. If a number is divisible by none of these, it is a prime number.


Write a java programme to check whether the number is twin prime or not?

Find a prime number, add 2 to the number. Check if the new number is prime. IE : 3 is prime. 3+2 =5. 5 is prime. (3,5) are twin primes.


Does any whole number multiply to get 29?

29 is a prime number, meaning it has no smaller factors. For any number up to 120, to check whether it is prime or not, it is sufficient to check whether it is divisible by the first four prime numbers (2, 3, 5 and 7).


How do you find Number of prime numbers below certain number?

You just have to work out it,take each number below it and check whether it is prime or not.


Algorithm to find whether a number is prime or not?

check if 2 divides the Numbercheck if 3 divides the Numbercheck if 5 divides the Number...check if any prime numbers less than the square root of the Number divide the NumberIf any do, the Number is composite; otherwise the Number is prime.This is called the Sieve of Erasthenes.An easy way to check if a prime number divides the Number in base ten (if you don't have a calculator) is to add or subtract 1 or 3 times the prime number to the Number, so that the sum or difference is a multiple of ten (if the prime number isn't 2 or 5). Knock off the zero. If the prime number divides the new number, it also divides the Number; otherwise it doesn't.


How can you tell whether za number is prime?

A number is prime if it only has two distinct factors.


Recursive algorithm to check a no is prime or not?

Suck a dick until it works


What is the largest prime number must you check to know whether or not 667 is a prime number?

It is 29 because 29*23 = 667