Dados dos enteros L y R, la tarea es encontrar la suma de todos los números naturales impares en el rango L y R inclusive.
Ejemplos :
Input: L = 2, R = 5 Output: 8 3 + 5 = 8 Input: L = 7, R = 13 Output: 40
Un enfoque ingenuo es atravesar de L a R y sumar los elementos para obtener la respuesta.
Un enfoque eficiente es usar la fórmula para calcular la suma de todos los números naturales impares hasta R y L-1 y luego restar sum(R)-sum(L-1) .
A continuación se muestra la implementación del enfoque anterior:
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>
Producción:
Sum of odd natural numbers from L to R is 8
Complejidad de tiempo: O(1)
Espacio Auxiliar: O(1)
Publicación traducida automáticamente
Artículo escrito por swetankmodi y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA