Article Categories
- All Categories
-
Data Structure
-
Networking
-
RDBMS
-
Operating System
-
Java
-
MS Excel
-
iOS
-
HTML
-
CSS
-
Android
-
Python
-
C Programming
-
C++
-
C#
-
MongoDB
-
MySQL
-
Javascript
-
PHP
-
Economics & Finance
Selected Reading
Number prime test in JavaScript by creating a custom function?
A prime number is a natural number greater than 1 that has no positive divisors other than 1 and itself. In JavaScript, we can create a custom function to check if a number is prime.
Basic Prime Number Function
Here's a simple approach to check if a number is prime:
function checkNumberIsPrime(number) {
if (number <= 1) return false;
if (number <= 3) return true;
if (number % 2 === 0 || number % 3 === 0) return false;
for (let i = 5; i * i <= number; i += 6) {
if (number % i === 0 || number % (i + 2) === 0) {
return false;
}
}
return true;
}
// Test with different numbers
console.log("2 is prime:", checkNumberIsPrime(2));
console.log("11 is prime:", checkNumberIsPrime(11));
console.log("15 is prime:", checkNumberIsPrime(15));
console.log("17 is prime:", checkNumberIsPrime(17));
2 is prime: true 11 is prime: true 15 is prime: false 17 is prime: true
Simple Prime Check Function
For beginners, here's a more straightforward implementation:
function isPrime(num) {
if (num < 2) return false;
for (let i = 2; i <= Math.sqrt(num); i++) {
if (num % i === 0) {
return false;
}
}
return true;
}
// Test the function
let testNumbers = [2, 3, 4, 5, 9, 11, 13, 15, 17, 20];
testNumbers.forEach(num => {
console.log(`${num} is ${isPrime(num) ? 'prime' : 'not prime'}`);
});
2 is prime 3 is prime 4 is not prime 5 is prime 9 is not prime 11 is prime 13 is prime 15 is not prime 17 is prime 20 is not prime
How It Works
The prime checking algorithm works by:
- Edge cases: Numbers less than 2 are not prime
- Division test: Check if the number is divisible by any integer from 2 to ?n
- Optimization: We only need to check up to the square root because factors come in pairs
Complete Example with Validation
function isPrimeNumber(number) {
// Handle edge cases
if (typeof number !== 'number' || !Number.isInteger(number)) {
return false;
}
if (number < 2) return false;
if (number === 2) return true;
if (number % 2 === 0) return false;
// Check odd divisors up to sqrt(number)
for (let i = 3; i <= Math.sqrt(number); i += 2) {
if (number % i === 0) {
return false;
}
}
return true;
}
// Example usage
function testPrimeNumbers() {
const numbers = [1, 2, 7, 10, 11, 25, 29, 100, 101];
numbers.forEach(num => {
const result = isPrimeNumber(num);
console.log(`${num}: ${result ? 'Prime' : 'Not Prime'}`);
});
}
testPrimeNumbers();
1: Not Prime 2: Prime 7: Prime 10: Not Prime 11: Prime 25: Not Prime 29: Prime 100: Not Prime 101: Prime
Performance Comparison
| Method | Time Complexity | Best For |
|---|---|---|
| Basic Loop (2 to n-1) | O(n) | Small numbers |
| Square Root Method | O(?n) | Most cases |
| Optimized (6k±1) | O(?n) | Large numbers |
Conclusion
The square root method provides an efficient way to check prime numbers in JavaScript. For most applications, checking divisors up to ?n offers the best balance of simplicity and performance.
Advertisements
