# 1. Introduction

Prime numbers are an intriguing part of the mathematical world, playing fundamental roles in areas like cryptography and number theory. By definition, a prime number is a number greater than 1 that has no positive divisors other than 1 and itself. In this post, we'll explore a Kotlin program that efficiently prints prime numbers in a specified range.

# 2. Program Overview

Our Kotlin exploration will:

1. Obtain a range from the user.

2. Traverse the range to detect prime numbers.

3. Display the prime numbers to the user.

# 3. Code Program

``````import java.util.Scanner

fun main() {
// Utilize Scanner for user input
val reader = Scanner(System.in)

// Get the range from the user
print("Enter the start of the range: ")
val start = reader.nextInt()
print("Enter the end of the range: ")
val end = reader.nextInt()

// Loop through the range and print prime numbers
for (num in start..end) {
if (isPrime(num)) {
print("\$num ")
}
}
}

fun isPrime(n: Int): Boolean {
if (n <= 1) return false
for (i in 2..Math.sqrt(n.toDouble()).toInt()) {
if (n % i == 0) return false
}
return true
}
``````

### Output:

```Enter the start of the range: 10
Enter the end of the range: 50
11 13 17 19 23 29 31 37 41 43 47
```

# 4. Step By Step Explanation

1. Scanner Invocation: We begin with creating Scanner class to capture of user input. We've named our instance reader.

2. Range Acquisition: Users are prompted to input the start and end of a range.

3. Prime Number Detection: The program then sifts through each number in the range, calling the isPrime function to verify its primality.

4. isPrime Function:

• If the number is less than or equal to 1, it's not prime.
• If the number is greater than 1, the program checks for factors other than 1 and the number itself. The loop to check for factors runs until the square root of the number, a mathematical optimization to reduce the number of checks needed.
• If no factors are found, the number is prime.

5. Displaying Prime Numbers: As the program identifies prime numbers, they're printed out, granting the user an immediate view of the prime numbers within the specified bounds.