From 7227539ca3fe48180564eef025696d23780debfd Mon Sep 17 00:00:00 2001 From: piyushkumar0707 <121piyush466mits@gmail.com> Date: Sat, 18 Oct 2025 23:14:21 +0530 Subject: [PATCH] feat(programs): add prime number check (basic and sqrt optimization) --- content/programs/contents.mdx | 22 +++-- .../java-program-to-check-prime-number.mdx | 99 +++++++++++++++++++ content/programs/meta.json | 1 + 3 files changed, 112 insertions(+), 10 deletions(-) create mode 100644 content/programs/java-program-to-check-prime-number.mdx diff --git a/content/programs/contents.mdx b/content/programs/contents.mdx index 582f830f..95aa8e89 100644 --- a/content/programs/contents.mdx +++ b/content/programs/contents.mdx @@ -8,13 +8,15 @@ description: A collection of basic Java programs categorized by topic. 1. [Print an Integer](/programs/print-an-integer) 2. [Add Two Integers](/programs/add-two-integers) 3. [Check Even or Odd Number](/programs/check-even-or-odd) -4. [Add Two Binary](/programs/java-program-to-add-two-binary-numbers) -5. [Add Two Complex Numbers](/programs/java-program-to-add-two-complex-numbers) -6. [Multiply Two Numbers](/programs/multiply-two-numbers) -7. [Check Leap Year](/programs/java-program-to-check-Leap-year) -8. [Calculate Simple interest](/programs/calculate-simple-interest) -9. [Check Divisibility](/programs/java-program-to-check-divisbility) -10. [Calculate Quotient and Reminder](/programs/find-quotient-and-reminder) -11. [Calculate Power of a Number](/programs/calculate-power-of-a-number) -12. [Calculate Compound Interest](/programs/calculate-compound-interest) -13. [Calculate Factorial of a Number](/programs/factorial-in-java) +4. [Check Prime Number](/programs/java-program-to-check-prime-number) +5. [Add Two Binary](/programs/java-program-to-add-two-binary-numbers) +6. [Add Two Complex Numbers](/programs/java-program-to-add-two-complex-numbers) +7. [Multiply Two Numbers](/programs/multiply-two-numbers) +8. [Check Leap Year](/programs/java-program-to-check-Leap-year) +9. [Calculate Simple interest](/programs/calculate-simple-interest) +10. [Check Divisibility](/programs/java-program-to-check-divisbility) +11. [Calculate Quotient and Reminder](/programs/find-quotient-and-reminder) +12. [Calculate Power of a Number](/programs/calculate-power-of-a-number) +13. [Calculate Compound Interest](/programs/calculate-compound-interest) +14. [Calculate Factorial of a Number](/programs/factorial-in-java) +15. [Swap Two Numbers](/programs/swap-two-numbers) diff --git a/content/programs/java-program-to-check-prime-number.mdx b/content/programs/java-program-to-check-prime-number.mdx new file mode 100644 index 00000000..3d3ad11a --- /dev/null +++ b/content/programs/java-program-to-check-prime-number.mdx @@ -0,0 +1,99 @@ +--- +title: Java Program to Check Prime Number +shortTitle: Check Prime Number +description: Learn how to check whether a number is prime in Java using simple loop-based methods and an optimized square-root approach. +--- + +A prime number is a number greater than 1 that has no positive divisors other than 1 and itself. In this article, we’ll implement two approaches to check if a number is prime: + +- Basic divisor counting (loop up to n) +- Optimized method (loop up to √n) + +Before you start, you may want to review: + +- [Java Variables and Literals](/docs/variables-and-literals) +- [Java Operators](/docs/operators) +- [Java Basic Input and Output](/docs/basic-input-output) + +## 1) Basic Approach (Loop up to n) + +This method is straightforward but less efficient for large n. + +### Example + +```java +class Main { + public static void main(String[] args) { + int n = 29; // change value to test + + if (isPrime(n)) { + System.out.println(n + " is a prime number."); + } else { + System.out.println(n + " is not a prime number."); + } + } + + static boolean isPrime(int n) { + if (n <= 1) return false; // 0, 1, and negatives are not prime + int count = 0; + for (int i = 1; i <= n; i++) { + if (n % i == 0) count++; + if (count > 2) return false; // early exit if more than 2 divisors + } + return count == 2; // exactly two divisors: 1 and n + } +} +``` + +#### Output (for n = 29) + +```plaintext +29 is a prime number. +``` + +## 2) Optimized Approach (Loop up to √n) + +You only need to check divisors up to the square root of n. + +### Example + +```java +class Main { + public static void main(String[] args) { + int n = 30; // change value to test + + if (isPrimeSqrt(n)) { + System.out.println(n + " is a prime number."); + } else { + System.out.println(n + " is not a prime number."); + } + } + + static boolean isPrimeSqrt(int n) { + if (n <= 1) return false; + if (n == 2) return true; + if (n % 2 == 0) return false; // even numbers > 2 are not prime + + for (int i = 3; i * i <= n; i += 2) { + if (n % i == 0) return false; + } + return true; + } +} +``` + +#### Output (for n = 30) + +```plaintext +30 is not a prime number. +``` + +--- + +### Notes & Tips + +- Time complexity: + - Basic method: O(n) + - Optimized method: O(√n) +- Edge cases: n ≤ 1 (not prime), n = 2 (prime), even numbers > 2 (not prime) +- For large ranges of numbers, consider the Sieve of Eratosthenes. diff --git a/content/programs/meta.json b/content/programs/meta.json index 0279544f..bf6b7da2 100644 --- a/content/programs/meta.json +++ b/content/programs/meta.json @@ -17,6 +17,7 @@ "---Conditional Checks---", "check-even-or-odd", + "java-program-to-check-prime-number", "java-program-to-check-divisibility", "java-program-to-check-Leap-year", "java-program-to-check-whether-input-character-is-vowel-or-consonant",