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.
Comments
Post a Comment
Leave Comment