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 : ")
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 : ")
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.