In this tutorial, you shall learn how to write a program to find the factors of a given number in Kotlin.
Kotlin – Find Factors of a Number
To find the factors of a given number in Kotlin, iterate over the range from 1 to given number, and check if the integer in the range can exactly divide the given number. If it can, then that integer is a factor, else not.
Program
In the following program, we read a number from user and store it in num
, then find the factors of this number.
Main.kt
fun findFactors(number: Int) {
println("Factors of $number are: ")
for (i in 1..number) {
if (number % i == 0) {
print("$i ")
}
}
}
fun main() {
print("Enter an integer : ")
val num = readLine()!!.toInt()
findFactors(num)
}
Output #1
Enter an integer : 120
Factors of 120 are:
1 2 3 4 5 6 8 10 12 15 20 24 30 40 60 120
Output #2
Enter an integer : 451
Factors of 451 are:
1 11 41 451
Related tutorials for the above program
Program with Fewer Iterations
If i
is a factor of n
, then n/i
is also a factor. Taking this fact into consideration, we can just reduce the iterations at a logarithmic scale.
In the following program, we find the factors of the given number using While loop with fewer iterations than the previous program.
Main.kt
fun findFactors(number: Int) {
println("Factors of $number are: ")
var i = 1
while (i <= number/i) {
if (number % i == 0) {
print("$i ")
val anotherFactor = number/i
print("$anotherFactor ")
}
i++
}
}
fun main() {
print("Enter an integer : ")
val num = readLine()!!.toInt()
findFactors(num)
}
Output #1
Enter an integer : 120
Factors of 120 are:
1 120 2 60 3 40 4 30 5 24 6 20 8 15 10 12
Output #2
Factors of 451 are:
1 451 11 41
Related tutorials for the above program
Conclusion
In this Kotlin Tutorial, we learned how to find the factors of a given number using For loop or While loop.