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> |
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.
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 neveropen!