Dados dos números enteros L y R , la tarea es imprimir todos los números pares e impares de L a R usando recursividad .
Ejemplos:
Entrada: L = 1, R = 10
Salida:
Números pares: 2 4 6 8 10
Números impares: 1 3 5 7 9Entrada: L = 10, R = 25
Salida:
Números pares: 10 12 14 16 18 20 22 24
Números impares: 11 13 15 17 19 21 23 25
Enfoque: siga los pasos a continuación para resolver el problema usando Recursion :
- Atraviesa el rango [R, L] .
- Imprima los elementos impares del rango usando recursividad usando la siguiente relación de recurrencia:
Impar(L, R) = R % 2 == 1? Impar(L, R – 2) : Impar(L, R – 1)
- Imprima los elementos pares del rango usando recursividad usando la siguiente relación de recurrencia :
Par(L, R) = R % 2 == 0 ? Par (L, R – 2) : Par (L, R – 1)
A continuación se muestra la implementación del enfoque anterior:
C++
// C++ program to implement // the above approach #include <bits/stdc++.h> using namespace std; // Function to print all the // even numbers from L to R void Even(int L, int R) { // Base case if (R < L) { return; } // Recurrence relation R % 2 == 0 ? Even(L, R - 2) : Even(L, R - 1); // Check if R is even if (R % 2 == 0) { cout << R << " "; } } // Function to print all the // odd numbers from L to R void Odd(int L, int R) { // Base case if (R < L) { return; } // Recurrence relation R % 2 == 1 ? Odd(L, R - 2) : Odd(L, R - 1); // Check if R is even if (R % 2 == 1) { cout << R << " "; } } // Driver Code int main() { int L = 10, R = 25; cout << "Even numbers:"; // Print all the // even numbers Even(L, R); cout << endl; // Print all the // odd numbers cout << "Odd numbers:"; Odd(L, R); }
Java
// Java program to implement // the above approach import java.util.*; class GFG{ // Function to print // all the even numbers // from L to R static void Even(int L, int R) { // Base case if (R < L) { return; } // Recurrence relation if(R % 2 == 0 ) Even(L, R - 2); else Even(L, R - 1); // Check if R is even if (R % 2 == 0) { System.out.print(R + " "); } } // Function to print // all the odd numbers // from L to R static void Odd(int L, int R) { // Base case if (R < L) { return; } // Recurrence relation if(R % 2 == 1 ) Odd(L, R - 2); else Odd(L, R - 1); // Check if R is even if (R % 2 == 1) { System.out.print(R + " "); } } // Driver Code public static void main(String[] args) { int L = 10, R = 25; System.out.print("Even numbers:"); // Print all the // even numbers Even(L, R); System.out.println(); // Print all the // odd numbers System.out.print("Odd numbers:"); Odd(L, R); } } // This code is contributed by Rajput-Ji
Python3
# Python3 program to implement # the above approach # Function to print all the # even numbers from L to R def Even(L, R): # Base case if (R < L): return # Recurrence relation if (R % 2 == 0): Even(L, R - 2) else: Even(L, R - 1) # Check if R is even if (R % 2 == 0): print(R, end = " ") # Function to print all the # odd numbers from L to R def Odd(L, R): # Base case if (R < L): return # Recurrence relation if (R % 2 == 1): Odd(L, R - 2) else: Odd(L, R - 1) # Check if R is even if (R % 2 == 1): print(R, end = " ") # Driver Code if __name__ == '__main__': L = 10 R = 25 print("Even numbers:") # Print all the # even numbers Even(L, R) print() # Print all the # odd numbers print("Odd numbers:") Odd(L, R) # This code is contributed by Amit Katiyar
C#
// C# program to implement // the above approach using System; class GFG{ // Function to print // all the even numbers // from L to R static void Even(int L, int R) { // Base case if (R < L) { return; } // Recurrence relation if(R % 2 == 0 ) Even(L, R - 2); else Even(L, R - 1); // Check if R is even if (R % 2 == 0) { Console.Write(R + " "); } } // Function to print // all the odd numbers // from L to R static void Odd(int L, int R) { // Base case if (R < L) { return; } // Recurrence relation if(R % 2 == 1 ) Odd(L, R - 2); else Odd(L, R - 1); // Check if R is even if (R % 2 == 1) { Console.Write(R + " "); } } // Driver Code public static void Main(String[] args) { int L = 10, R = 25; Console.Write("Even numbers:"); // Print all the // even numbers Even(L, R); Console.WriteLine(); // Print all the // odd numbers Console.Write("Odd numbers:"); Odd(L, R); } } // This code is contributed by 29AjayKumar
Javascript
<script> // Java script program to implement // the above approach // Function to print // all the even numbers // from L to R function Even(L, R) { // Base case if (R < L) { return; } // Recurrence relation if (R % 2 == 0 ) { Even(L, R - 2); } else { Even(L, R - 1); } // Check if R is even if (R % 2 == 0) { document.write(R + " "); } } // Function to print // all the odd numbers // from L to R function Odd(L, R) { // Base case if (R < L) { return; } // Recurrence relation if (R % 2 == 1 ) { Odd(L, R - 2); } else { Odd(L, R - 1); } // Check if R is even if (R % 2 == 1) { document.write(R + " "); } } // Driver Code let L = 10; let R = 25; document.write("Even numbers:"); // Print all the // even numbers Even(L, R); document.write("<br>"); // Print all the // odd numbers document.write("Odd numbers:"); Odd(L, R); // This code is contributed by sravan kumar G </script>
Even numbers:10 12 14 16 18 20 22 24 Odd numbers:11 13 15 17 19 21 23 25
Complejidad temporal: O(N)
Espacio auxiliar: O(1)
Publicación traducida automáticamente
Artículo escrito por KetanGupta y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA