Kotlin Program to Calculate the Sum of Natural Numbers

Introduction

Calculating the sum of natural numbers is a fundamental task in programming, often serving as an introductory example to looping constructs and recursion. Kotlin, with its clear and concise syntax, offers multiple ways to perform this calculation. In this article, we will explore three different Kotlin Program to Calculate the Sum of Natural Numbers. Each solution will be explained with code and sample outputs.

1. Using Loop Constructs

1.1 Using a For Loop

A for loop is a straightforward way to iterate through a range of numbers and calculate their sum.

Kotlin
fun sumOfNaturalNumbers(n: Int): Int {
    var sum = 0
    for (i in 1..n) {
        sum += i
    }
    return sum
}

fun main() {
    val number = 10
    println("Sum of first $number natural numbers is: ${sumOfNaturalNumbers(number)}")
}

Output:

Kotlin
Sum of first 10 natural numbers is: 55

1.2 Using a While Loop

A while loop provides another way to perform the same task, especially when the condition for looping is more complex.

Kotlin
fun sumOfNaturalNumbers(n: Int): Int {
    var sum = 0
    var i = 1
    while (i <= n) {
        sum += i
        i++
    }
    return sum
}

fun main() {
    val number = 5
    println("Sum of first $number natural numbers is: ${sumOfNaturalNumbers(number)}")
}

Output:

Kotlin
Sum of first 5 natural numbers is: 15

2. Using Recursion

2.1 Recursive Function Approach

Recursion is a technique where a function calls itself to solve a problem. It’s a powerful tool for problems that can be broken down into smaller sub-problems.

Kotlin
fun sumOfNaturalNumbers(n: Int): Int {
    return if (n == 1) {
        1
    } else {
        n + sumOfNaturalNumbers(n - 1)
    }
}

fun main() {
    val number = 7
    println("Sum of first $number natural numbers is: ${sumOfNaturalNumbers(number)}")
}

Output:

Kotlin
Sum of first 7 natural numbers is: 28

3. Using Formula

3.1 Formula Approach

The sum of the first n natural numbers can be calculated using the formula n * (n + 1) / 2, which provides a direct and efficient way to compute the result.

Kotlin
fun sumOfNaturalNumbers(n: Int): Int {
    return n * (n + 1) / 2
}

fun main() {
    val number = 100
    println("Sum of first $number natural numbers is: ${sumOfNaturalNumbers(number)}")
}

Output:

Kotlin
Sum of first 100 natural numbers is: 5050

3.2 Extension Function with Formula

Using Kotlin’s extension functions, we can add a custom method to the Int class to calculate the sum of natural numbers using the formula.

Kotlin
fun Int.sumOfNaturalNumbers(): Int {
    return this * (this + 1) / 2
}

fun main() {
    val number = 20
    println("Sum of first $number natural numbers is: ${number.sumOfNaturalNumbers()}")
}

Output:

Kotlin
Sum of first 20 natural numbers is: 210

Conclusion

In this article, we explored various methods to calculate the sum of natural numbers in Kotlin. We used loop constructs like for and while loops, recursive functions, and a direct formula. Each method has its own advantages and can be chosen based on the specific needs of your application. Understanding these different approaches allows you to select the most appropriate one for your Kotlin projects.