Sum of natural numbers in a range
The sum of natural numbers is a fundamental mathematical concept, representing the total of all positive integers within a given range. Calculating the sum of natural numbers within a specified range is a common problem with various applications in mathematics and computer science. This article explains how to find the sum of natural numbers within a given range using a C program.
Problem Statement
Given two integers, 'first' and 'last', representing the range of natural numbers (inclusive), the problem is to calculate the sum of natural numbers within that range.
Example
For instance, if 'first' is 5 and 'last' is 10, the sum of natural numbers from 5 to 10 would be 5 + 6 + 7 + 8 + 9 + 10 = 45. Similarly, for the range from 20 to 25, the sum is 135. For the range 4 to 14, the sum is 99, and for the range 5 to 13, the sum is 81.
Idea to Solve
To solve this problem, we need to iterate through the numbers within the given range and sum them up. An efficient
way to calculate the sum of natural numbers from 1 to 'n' is by using the formula (n * (n + 1)) / 2
. We
can extend this formula to calculate the sum of natural numbers in a given range from 'first' to 'last'.
Pseudocode
function sum_natural_number(first, last):
if first <= 0 or last <= 0:
return
else if first > last:
Swap 'first' and 'last'
Call sum_natural_number(last, first)
else:
Calculate the number of elements in the range: element = (last - first)
Calculate the sum using the formula: sum = first * (element + 1) + (element * (element + 1) / 2)
Print "Sum of natural numbers from", first, "to", last, "is", sum
function main():
sum_natural_number(5, 10)
sum_natural_number(20, 25)
sum_natural_number(4, 14)
sum_natural_number(5, 13)
Algorithm Explanation
- The
sum_natural_number
function takes two parameters: 'first' and 'last'. - It checks if either 'first' or 'last' is less than or equal to 0, and if so, it returns without performing any calculations.
- If 'first' is greater than 'last', it swaps the values of 'first' and 'last' and then calls the function again with the swapped values to ensure a valid range.
- If 'first' is less than or equal to 'last', it calculates the number of elements in the range (element = last - first).
- Using the formula
(first * (element + 1)) + ((element) * (element + 1) / 2)
, it calculates the sum of natural numbers in the given range. - It prints the calculated sum along with the provided range.
- The
main
function tests thesum_natural_number
function with different values.
Code Solution
// C Program
// Sum of natural numbers in given range
#include <stdio.h>
//Calculating the sum of n natural numbers from two numbers
void sum_natural_number(int first, int last)
{
if (first <= 0 || last <= 0)
{
return;
}
else if (first > last)
{
//Make a valid range
sum_natural_number(last, first);
}
else
{
//First count number elements
int element = (last - first);
//Formula
// first *(total_element+1) * ((total_element) * (total_element + 1) / 2)
long long int sum = first * (element + 1) + ((element) * (element + 1) / 2);
//Display calculated result
printf("Sum of natural numbers from ( %d to %d ) is %lld\n", first, last, sum);
}
}
int main()
{
//Test case
sum_natural_number(5, 10);
sum_natural_number(20, 25);
sum_natural_number(4, 14);
sum_natural_number(5, 13);
return 0;
}
Output
Sum of natural numbers from ( 5 to 10 ) is 45
Sum of natural numbers from ( 20 to 25 ) is 135
Sum of natural numbers from ( 4 to 14 ) is 99
Sum of natural numbers from ( 5 to 13 ) is 81
// Java Program
// Sum of natural numbers in given range
class MyMaths
{
//Calculating the sum of n natural numbers from two numbers
public void sum_natural_number(int first, int last)
{
if (first <= 0 || last <= 0)
{
return;
}
else if (first > last)
{
//Make a valid range
sum_natural_number(last, first);
}
else
{
//First count number elements
int element = (last - first);
//Formula
// first *(total_element+1) * ((total_element) * (total_element + 1) / 2)
long sum = first * (element + 1) + ((element) * (element + 1) / 2);
//Display calculated result
System.out.print("Sum of natural numbers from ( " + first + " to " + last + " ) is " + sum + "\n");
}
}
public static void main(String[] args)
{
MyMaths obj = new MyMaths();
//Test case
obj.sum_natural_number(5, 10);
obj.sum_natural_number(20, 25);
obj.sum_natural_number(4, 14);
obj.sum_natural_number(5, 13);
}
}
Output
Sum of natural numbers from ( 5 to 10 ) is 45
Sum of natural numbers from ( 20 to 25 ) is 135
Sum of natural numbers from ( 4 to 14 ) is 99
Sum of natural numbers from ( 5 to 13 ) is 81
//Include header file
#include <iostream>
using namespace std;
// C++ Program
// Sum of natural numbers in given range
class MyMaths
{
public:
//Calculating the sum of n natural numbers from two numbers
void sum_natural_number(int first, int last)
{
if (first <= 0 || last <= 0)
{
return;
}
else if (first > last)
{
//Make a valid range
this->sum_natural_number(last, first);
}
else
{
//First count number elements
int element = (last - first);
//Formula
// first *(total_element+1) * ((total_element) * (total_element + 1) / 2)
long sum = first * (element + 1) + ((element) * (element + 1) / 2);
//Display calculated result
cout << "Sum of natural numbers from ( " << first << " to " << last << " ) is " << sum << "\n";
}
}
};
int main()
{
MyMaths obj = MyMaths();
//Test case
obj.sum_natural_number(5, 10);
obj.sum_natural_number(20, 25);
obj.sum_natural_number(4, 14);
obj.sum_natural_number(5, 13);
return 0;
}
Output
Sum of natural numbers from ( 5 to 10 ) is 45
Sum of natural numbers from ( 20 to 25 ) is 135
Sum of natural numbers from ( 4 to 14 ) is 99
Sum of natural numbers from ( 5 to 13 ) is 81
//Include namespace system
using System;
// C# Program
// Sum of natural numbers in given range
class MyMaths
{
//Calculating the sum of n natural numbers from two numbers
public void sum_natural_number(int first, int last)
{
if (first <= 0 || last <= 0)
{
return;
}
else if (first > last)
{
//Make a valid range
sum_natural_number(last, first);
}
else
{
//First count number elements
int element = (last - first);
//Formula
// first *(total_element+1) * ((total_element) * (total_element + 1) / 2)
long sum = first * (element + 1) + ((element) * (element + 1) / 2);
//Display calculated result
Console.Write("Sum of natural numbers from ( " + first + " to " + last + " ) is " + sum + "\n");
}
}
public static void Main(String[] args)
{
MyMaths obj = new MyMaths();
//Test case
obj.sum_natural_number(5, 10);
obj.sum_natural_number(20, 25);
obj.sum_natural_number(4, 14);
obj.sum_natural_number(5, 13);
}
}
Output
Sum of natural numbers from ( 5 to 10 ) is 45
Sum of natural numbers from ( 20 to 25 ) is 135
Sum of natural numbers from ( 4 to 14 ) is 99
Sum of natural numbers from ( 5 to 13 ) is 81
<?php
// Php Program
// Sum of natural numbers in given range
class MyMaths
{
//Calculating the sum of n natural numbers from two numbers
public function sum_natural_number($first, $last)
{
if ($first <= 0 || $last <= 0)
{
return;
}
else if ($first > $last)
{
//Make a valid range
$this->sum_natural_number($last, $first);
}
else
{
//First count number elements
$element = ($last - $first);
//Formula
// first *(total_element+1) * ((total_element) * (total_element + 1) / 2)
$sum = $first * ($element + 1) + (intval(($element) * ($element + 1) / 2));
//Display calculated result
echo "Sum of natural numbers from ( ". $first ." to ". $last ." ) is ". $sum ."\n";
}
}
}
function main()
{
$obj = new MyMaths();
//Test case
$obj->sum_natural_number(5, 10);
$obj->sum_natural_number(20, 25);
$obj->sum_natural_number(4, 14);
$obj->sum_natural_number(5, 13);
}
main();
Output
Sum of natural numbers from ( 5 to 10 ) is 45
Sum of natural numbers from ( 20 to 25 ) is 135
Sum of natural numbers from ( 4 to 14 ) is 99
Sum of natural numbers from ( 5 to 13 ) is 81
// Node Js Program
// Sum of natural numbers in given range
class MyMaths
{
//Calculating the sum of n natural numbers from two numbers
sum_natural_number(first, last)
{
if (first <= 0 || last <= 0)
{
return;
}
else if (first > last)
{
//Make a valid range
this.sum_natural_number(last, first);
}
else
{
//First count number elements
var element = (last - first);
//Formula
// first *(total_element+1) * ((total_element) * (total_element + 1) / 2)
var sum = first * (element + 1) + (parseInt((element) * (element + 1) / 2));
//Display calculated result
process.stdout.write("Sum of natural numbers from ( " + first + " to " + last + " ) is " + sum + "\n");
}
}
}
function main()
{
var obj = new MyMaths();
//Test case
obj.sum_natural_number(5, 10);
obj.sum_natural_number(20, 25);
obj.sum_natural_number(4, 14);
obj.sum_natural_number(5, 13);
}
main();
Output
Sum of natural numbers from ( 5 to 10 ) is 45
Sum of natural numbers from ( 20 to 25 ) is 135
Sum of natural numbers from ( 4 to 14 ) is 99
Sum of natural numbers from ( 5 to 13 ) is 81
# Python 3 Program
# Sum of natural numbers in given range
class MyMaths :
# Calculating the sum of n natural numbers from two numbers
def sum_natural_number(self, first, last) :
if (first <= 0 or last <= 0) :
return
elif(first > last) :
# Make a valid range
self.sum_natural_number(last, first)
else :
# First count number elements
element = (last - first)
# Formula
# first *(total_element+1) * ((total_element) * (total_element + 1) / 2)
sum = first * (element + 1) + (int((element) * (element + 1) / 2))
# Display calculated result
print("Sum of natural numbers from ( ", first ," to ", last ," ) is ", sum )
def main() :
obj = MyMaths()
# Test case
obj.sum_natural_number(5, 10)
obj.sum_natural_number(20, 25)
obj.sum_natural_number(4, 14)
obj.sum_natural_number(5, 13)
if __name__ == "__main__": main()
Output
Sum of natural numbers from ( 5 to 10 ) is 45
Sum of natural numbers from ( 20 to 25 ) is 135
Sum of natural numbers from ( 4 to 14 ) is 99
Sum of natural numbers from ( 5 to 13 ) is 81
# Ruby Program
# Sum of natural numbers in given range
class MyMaths
# Calculating the sum of n natural numbers from two numbers
def sum_natural_number(first, last)
if (first <= 0 || last <= 0)
return
elsif(first > last)
# Make a valid range
self.sum_natural_number(last, first)
else
# First count number elements
element = (last - first)
# Formula
# first *(total_element+1) * ((total_element) * (total_element + 1) / 2)
sum = first * (element + 1) + ((element) * (element + 1) / 2)
# Display calculated result
print("Sum of natural numbers from ( ", first ," to ", last ," ) is ", sum ,"\n")
end
end
end
def main()
obj = MyMaths.new()
# Test case
obj.sum_natural_number(5, 10)
obj.sum_natural_number(20, 25)
obj.sum_natural_number(4, 14)
obj.sum_natural_number(5, 13)
end
main()
Output
Sum of natural numbers from ( 5 to 10 ) is 45
Sum of natural numbers from ( 20 to 25 ) is 135
Sum of natural numbers from ( 4 to 14 ) is 99
Sum of natural numbers from ( 5 to 13 ) is 81
// Scala Program
// Sum of natural numbers in given range
class MyMaths
{
//Calculating the sum of n natural numbers from two numbers
def sum_natural_number(first: Int, last: Int): Unit = {
if (first <= 0 || last <= 0)
{
return;
}
else if (first > last)
{
//Make a valid range
sum_natural_number(last, first);
}
else
{
//First count number elements
var element: Int = (last - first);
//Formula
// first *(total_element+1) * ((total_element) * (total_element + 1) / 2)
var sum: Long = first * (element + 1) + (((element) * (element + 1) / 2).toInt);
//Display calculated result
print("Sum of natural numbers from ( " + first + " to " + last + " ) is " + sum + "\n");
}
}
}
object Main
{
def main(args: Array[String]): Unit = {
var obj: MyMaths = new MyMaths();
//Test case
obj.sum_natural_number(5, 10);
obj.sum_natural_number(20, 25);
obj.sum_natural_number(4, 14);
obj.sum_natural_number(5, 13);
}
}
Output
Sum of natural numbers from ( 5 to 10 ) is 45
Sum of natural numbers from ( 20 to 25 ) is 135
Sum of natural numbers from ( 4 to 14 ) is 99
Sum of natural numbers from ( 5 to 13 ) is 81
// Swift Program
// Sum of natural numbers in given range
class MyMaths
{
//Calculating the sum of n natural numbers from two numbers
func sum_natural_number(_ first: Int, _ last: Int)
{
if (first <= 0 || last <= 0)
{
return;
}
else if (first > last)
{
//Make a valid range
self.sum_natural_number(last, first);
}
else
{
//First count number elements
let element: Int = (last - first);
//Formula
// first *(total_element+1) * ((total_element) * (total_element + 1) / 2)
let sum: Int = first * (element + 1) + ((element) * (element + 1) / 2);
//Display calculated result
print("Sum of natural numbers from ( ", first ," to ", last ," ) is ", sum );
}
}
}
func main()
{
let obj: MyMaths = MyMaths();
//Test case
obj.sum_natural_number(5, 10);
obj.sum_natural_number(20, 25);
obj.sum_natural_number(4, 14);
obj.sum_natural_number(5, 13);
}
main();
Output
Sum of natural numbers from ( 5 to 10 ) is 45
Sum of natural numbers from ( 20 to 25 ) is 135
Sum of natural numbers from ( 4 to 14 ) is 99
Sum of natural numbers from ( 5 to 13 ) is 81
Time Complexity
The time complexity of this code is constant, O(1), as the calculations performed inside the
sum_natural_number
function involve only basic arithmetic operations. The execution time remains
constant regardless of the input values.
Please share your knowledge to improve code and content standard. Also submit your doubts, and test case. We improve by your feedback. We will try to resolve your query as soon as possible.
New Comment