# Kotlin Program to Check Whether Number is Prime

Write a Kotlin Program to check whether number is prime or not.

For example,

```Input
12

Output
12 is not prime
```
```Input
13

Output
13 is prime
```

## 1. Program to Check Whether Number is prime or not

Now, we will check whether number is prime or not using for loop

Sourcecode –

```fun main() {

println("Enter n:")

if(checkPrime(n))
println("\$n is prime")
else
println("\$n is not prime")
}

private fun checkPrime(n: Int): Boolean {

// Number less than or equal 1 is not prime
if(n <= 1)
return false

// 2 is only even prime number
if(n == 2)
return true

// Check if number (> 2) is even. If yes, it is not prime.
if(n % 2 == 0)
return false

var flag = true

val root  = sqrt(n.toDouble()).toInt()

// We need to check till square root of n only to find whether n is prime.
for(i in 3..root step 2) {
if((n % i) == 0) {
flag = false
break
}
}

return flag
}
```

When you run the program, output will be –

```Enter n:
101
101 is prime
```
###### Explanation:

Here, we have created an object of Scanner. Scanner takes an argument which says where to take input from.
System.`in` means take input from standard input – Keyboard.

read.nextInt() means read anything (i.e. Int value) entered by user before space or line break from standard input – Keyboard.

We stored entered value in variable n

We defined a function checkPrime that returns true if n is prime else it returns false.

Inside checkPrime function,

• If n <= 1 , it's not a prime number. So, returns false.
• If n == 2, it only even prime number. So, returns true.
• Then, we check if n is even or not. Not that this will be checked only if above two conditions are false. If n is even, it’s not prime number. So, returns false.
• Now, we know this number is not even and greater than 2. Also, we need to check conditions till square root only. So, we find square root of n and stored in variable root
• Then, we run a loop from 3 to square root. Note that we have increased the loop by step 2. That’s because we do not need to check for even number. We already know that n is not even.
• If at value of i, n is divisible, it means it is not prime. So, we set flag to false and break the loop
• Finally, we return value of flag (Either true or false).

Thus, we went through Kotlin Program to check whether number is prime or not.