Prime or not (Java) (doubt)

Hey guys it have been around 8 - 10 months since I started learning Java.I understand most of the basic concepts and programs written by others. But I can't figure out how to findout that a number is prime or not. So I surfed net mainly Stackoverflow to find out . But after several attempts I wasn't able to. Please can anybody give the answer as well as explanation.

PS - It may sound stupid sorry for that...

Note by Tanmay Jain
3 years, 1 month ago

No vote yet
1 vote

  Easy Math Editor

MarkdownAppears as
*italics* or _italics_ italics
**bold** or __bold__ bold

- bulleted
- list

  • bulleted
  • list

1. numbered
2. list

  1. numbered
  2. list
Note: you must add a full line of space before and after lists for them to show up correctly
paragraph 1

paragraph 2

paragraph 1

paragraph 2

[example link](https://brilliant.org)example link
> This is a quote
This is a quote
    # I indented these lines
    # 4 spaces, and now they show
    # up as a code block.

    print "hello world"
# I indented these lines
# 4 spaces, and now they show
# up as a code block.

print "hello world"
MathAppears as
Remember to wrap math in \( ... \) or \[ ... \] to ensure proper formatting.
2 \times 3 \( 2 \times 3 \)
2^{34} \( 2^{34} \)
a_{i-1} \( a_{i-1} \)
\frac{2}{3} \( \frac{2}{3} \)
\sqrt{2} \( \sqrt{2} \)
\sum_{i=1}^3 \( \sum_{i=1}^3 \)
\sin \theta \( \sin \theta \)
\boxed{123} \( \boxed{123} \)

Comments

Sort by:

Top Newest

To find out whether a number is prime or not, you need to find out whether it is divisible by natural numbers greater than 1 and less than the number. Here is the easiest algorithm to find out if a number is prime or not -

1
2
3
4
5
6
7
8
private boolean prime(int n){
    for(int i = 2; i < n; i++){
        if(n % i == 0){
            return false;
        }
    }
    return true;
}

Consider any natural number \(n\). In the above code, you loop from \(2\) to \(n-1\). If any number divides \(n\) completely, you return false as the number is divisible by some number and it is composite. If no number divides \(n\) then you return true as the number is prime.

Note : The % sign means modulo. It finds out the remainder when a number is divided by another number. For eg, 9 mod 3 or 9 % 3 is 0 as when 9 is divided by 3, remainder is 0.

The code given by me is certainly very inefficient. Can you figure out a way to make the code faster? Also remember to read this post - Prime Test.

Arulx Z - 3 years, 1 month ago

Log in to reply

Thank You so much that helped me a lot !!

Tanmay Jain - 3 years, 1 month ago

Log in to reply

You are welcome

Arulx Z - 3 years, 1 month ago

Log in to reply

×

Problem Loading...

Note Loading...

Set Loading...