## Example 1: Program to Check Prime Number using a for-in loop

```
fun main(args: Array<String>) {
val num = 29
var flag = false
for (i in 2..num / 2) {
// condition for nonprime number
if (num % i == 0) {
flag = true
break
}
}
if (!flag)
println("$num is a prime number.")
else
println("$num is not a prime number.")
}
```

When you run the program, the output will be:

29 is a prime number.

Like Java, in the above program, for loop is used to determine if the given number `num` is prime or not. We only have to loop through 2 to half of `num`, because no number is divisible by more than its half.

Inside the for loop, we check if the number is divisible by any number in the given range `(2..num/2)`

. If it is, `flag` is set to `true`

and we break out of the loop. This determines `num` is not a prime number.

If `num` isn't divisible by any number, `flag` is false and `num` is a prime number.

Here's the equivalent Java code: Java Program to Check Prime Number

## Example 2: Program to Check Prime Number using a while loop

```
fun main(args: Array<String>) {
val num = 33
var i = 2
var flag = false
while (i <= num / 2) {
// condition for nonprime number
if (num % i == 0) {
flag = true
break
}
++i
}
if (!flag)
println("$num is a prime number.")
else
println("$num is not a prime number.")
}
```

When you run the program, the output will be:

33 is not a prime number.

In the above program, while loop is used instead of a for loop. The loop runs until `i <= num/2`

. On each iteration, whether `num` is divisble by `i` is checked and the value of `i` is incremented by 1.

Visit this page to learn, how you can display all prime numbers between two intervals.