Given two integers L and R, the task is to find the sum of all odd natural numbers in range L and R inclusive.
Examples:
Input: L = 2, R = 5 Output: 8 3 + 5 = 8 Input: L = 7, R = 13 Output: 40
A naive approach is to traverse from L to R and summate the elements to get the answer.
An efficient approach is to use the formula for calculating the sum of all odd natural numbers upto R and L-1 and then subtract sum(R)-sum(L-1).
Below is the implementation of the above approach:
C++
// C++ program to print the sum // of all numbers in range L and R #include <bits/stdc++.h> using namespace std;
// Function to return the sum of // all odd natural numbers int sumOdd( int n)
{ int terms = (n + 1) / 2;
int sum = terms * terms;
return sum;
} // Function to return the sum // of all odd numbers in range L and R int suminRange( int l, int r)
{ return sumOdd(r) - sumOdd(l - 1);
} // Driver Code int main()
{ int l = 2, r = 5;
cout << "Sum of odd natural numbers from L to R is "
<< suminRange(l, r);
return 0;
} |
Java
// Java program to print the sum // of all numbers in range L and R import java.io.*;
class GFG {
// Function to return the sum of // all odd natural numbers static int sumOdd( int n)
{ int terms = (n + 1 ) / 2 ;
int sum = terms * terms;
return sum;
} // Function to return the sum // of all odd numbers in range L and R static int suminRange( int l, int r)
{ return sumOdd(r) - sumOdd(l - 1 );
} // Driver Code public static void main (String[] args) {
int l = 2 , r = 5 ;
System.out.print( "Sum of odd natural numbers from L to R is "
+ suminRange(l, r));
}
} // This code is contributed by shs.. |
Python3
# Python 3 program to print the sum # of all numbers in range L and R # Function to return the sum of # all odd natural numbers def sumOdd(n):
terms = (n + 1 ) / / 2
sum1 = terms * terms
return sum1
# Function to return the sum # of all odd numbers in range L and R def suminRange(l, r):
return sumOdd(r) - sumOdd(l - 1 )
# Driver code l = 2 ; r = 5
print ( "Sum of odd natural number" ,
"from L to R is" , suminRange(l, r))
# This code is contributed by Shrikant13 |
C#
// C# program to print the sum // of all numbers in range L and R using System;
class GFG
{ // Function to return the sum of // all odd natural numbers static int sumOdd( int n)
{ int terms = (n + 1) / 2;
int sum = terms * terms;
return sum;
} // Function to return the sum // of all odd numbers in range L and R static int suminRange( int l, int r)
{ return sumOdd(r) - sumOdd(l - 1);
} // Driver Code public static void Main ()
{ int l = 2, r = 5;
Console.WriteLine( "Sum of odd natural numbers " +
"from L to R is " + suminRange(l, r));
} } // This code is contributed by shs.. |
PHP
<?php //PHP program to print the sum // of all numbers in range L and R // Function to return the sum of // all odd natural numbers function sumOdd( $n )
{ $terms = (int)( $n + 1) / 2;
$sum = $terms * $terms ;
return $sum ;
} // Function to return the sum // of all odd numbers in range L and R function suminRange( $l , $r )
{ return sumOdd( $r ) - sumOdd( $l - 1);
} // Driver Code $l = 2;
$r = 5;
echo "Sum of odd natural numbers from L to R is " ,
suminRange( $l , $r );
?> |
Javascript
<script> //JavaScript program to print the sum // of all numbers in range L and R // Function to return the sum of // all odd natural numbers function sumOdd(n)
{ terms = (n + 1) / 2;
sum = terms * terms;
return sum;
} // Function to return the sum // of all odd numbers in range L and R function suminRange(l, r)
{ return sumOdd(r) - sumOdd(l - 1);
} // Driver Code let l = 2; let r = 5; document.write( "Sum of odd natural numbers from L to R is " +
suminRange(l, r));
// This code is contributed by sravan kumar </script> |
Output:
Sum of odd natural numbers from L to R is 8
Time Complexity: O(1)
Auxiliary Space: O(1), since no extra space has been taken.