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 numbersint 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 Rint suminRange(int l, int r){ return sumOdd(r) - sumOdd(l - 1);}// Driver Codeint 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 Rimport java.io.*;class GFG { // Function to return the sum of// all odd natural numbersstatic 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 Rstatic int suminRange(int l, int r){ return sumOdd(r) - sumOdd(l - 1);}// Driver Codepublic 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 codel = 2; r = 5print("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 Rusing System;class GFG { // Function to return the sum of// all odd natural numbersstatic 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 Rstatic int suminRange(int l, int r){ return sumOdd(r) - sumOdd(l - 1);}// Driver Codepublic 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 numbersfunction sumOdd(n){ terms = (n + 1) / 2; sum = terms * terms; return sum;}// Function to return the sum// of all odd numbers in range L and Rfunction suminRange(l, r){ return sumOdd(r) - sumOdd(l - 1);}// Driver Codelet 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!
