×

# 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
2 years, 8 months ago

MarkdownAppears as
*italics* or _italics_ italics
**bold** or __bold__ bold
- bulleted- list
• bulleted
• list
1. numbered2. 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 1paragraph 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}$$

Sort by:

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.

- 2 years, 8 months ago

Thank You so much that helped me a lot !!

- 2 years, 8 months ago

You are welcome

- 2 years, 8 months ago