So finden Sie die Summe natürlicher Zahlen mit Rekursion
Rekursion ist ein Prozess, bei dem sich eine Funktion direkt oder indirekt selbst aufruft. Rekursive Algorithmen sind in der Informatik weit verbreitet, um komplexe Probleme zu lösen, indem sie in einfachere zerlegt werden.
Sie können rekursive Konzepte besser verstehen, indem Sie grundlegende Programmierprobleme wie das "Produkt zweier Zahlen", "die Summe der ersten n natürlichen Zahlen" und mehr lösen.
In diesem Artikel erfahren Sie, wie Sie die Summe der ersten n natürlichen Zahlen mithilfe von Rekursion ermitteln.
Problemstellung
Sie erhalten eine natürliche Zahl n , Sie müssen die Summe der ersten n natürlichen Zahlen mit Rekursion finden.
Beispiel 1 : Sei n = 5
Daher ist die Summe der ersten 5 natürlichen Zahlen = 1 + 2 + 3 + 4 + 5 = 15.
Somit ist die Ausgabe 15.
Beispiel 2 : Sei n = 7
Daher ist die Summe der ersten 7 natürlichen Zahlen = 1 + 2 + 3 + 4 + 5 + 6 + 7 = 28.
Somit ist die Ausgabe 28.
Beispiel 3 : Sei n = 6
Daher ist die Summe der ersten 6 natürlichen Zahlen = 1 + 2 + 3 + 4 + 5 + 6 = 21.
Somit ist die Ausgabe 21.
Rekursive Funktion zum Ermitteln der Summe der ersten N natürlichen Zahlen
Die meisten rekursiven Funktionen haben die folgende relative Struktur:
FUNCTION name
IF condition THEN
RETURN result
ELSE
CALL FUNCTION name
END FUNCTION
Um die Summe der ersten n natürlichen Zahlen zu ermitteln, beachten Sie den folgenden Pseudocode und wenden Sie ihn an:
findSum(n):
IF n<=1 THEN
RETURN n
ELSE
RETURN n + findSum(n-1)
END FUNCTION
Jetzt können Sie diesen Pseudocode in Ihrer bevorzugten Programmiersprache implementieren.
Hinweis : Sie können die Summe der ersten n natürlichen Zahlen auch mit der folgenden mathematischen Formel ermitteln:
Summe von n natürlichen Zahlen = n * (n + 1) / 2
Mit dieser Methode können Sie die Summe in einem Schritt ohne Rekursion finden.
C++-Implementierung zum Ermitteln der Summe der ersten N natürlichen Zahlen mit Rekursion
Unten ist die C++-Implementierung zum Ermitteln der Summe der ersten n natürlichen Zahlen mithilfe von Rekursion:
// C++ implementation to find the sum of
// first n natural numbers using recursion
#include <iostream>
using namespace std;
// Recursive function to find the sum of first n natural numbers
int findSum(int n)
{
if (n<=1)
{
return n;
}
else
{
return n + findSum(n-1);
}
}
// Driver code
int main()
{
int n1 = 5, n2 = 7, n3 = 6;
cout << "n1: " << n1 << endl;
cout << "n2: " << n2 << endl;
cout << "n3: " << n3 << endl;
cout << "Sum of first " << n1 << " natural numbers: " << findSum(n1) << endl;
cout << "Sum of first " << n2 << " natural numbers: " << findSum(n2) << endl;
cout << "Sum of first " << n3 << " natural numbers: " << findSum(n3) << endl;
return 0;
}
Ausgabe:
n1: 5
n2: 7
n3: 6
Sum of first 5 natural numbers: 15
Sum of first 7 natural numbers: 28
Sum of first 6 natural numbers: 21
Python-Implementierung zum Ermitteln der Summe der ersten N natürlichen Zahlen mit Rekursion
Unten ist die Python-Implementierung zum Ermitteln der Summe der ersten n natürlichen Zahlen mithilfe von Rekursion:
# Python implementation to find the sum of
# first n natural numbers using recursion
# Recursive function to find the sum of first n natural numbers
def findSum(n):
if n<=1:
return n
else:
return n + findSum(n-1)
# Driver Code
n1 = 5
n2 = 7
n3 = 6
print("n1: ", n1)
print("n2: ", n2)
print("n3: ", n3)
print("Sum of first ", n1, " natural numbers: ", findSum(n1))
print("Sum of first ", n2, " natural numbers: ", findSum(n2))
print("Sum of first ", n3, " natural numbers: ", findSum(n3))
Ausgabe:
n1: 5
n2: 7
n3: 6
Sum of first 5 natural numbers: 15
Sum of first 7 natural numbers: 28
Sum of first 6 natural numbers: 21
C-Implementierung zum Ermitteln der Summe der ersten N natürlichen Zahlen mit Rekursion
Unten ist die C-Implementierung zum Ermitteln der Summe der ersten n natürlichen Zahlen mithilfe von Rekursion:
// C implementation to find the sum of
// first n natural numbers using recursion
#include <stdio.h>
// Recursive function to find the sum of first n natural numbers
int findSum(int n)
{
if (n<=1)
{
return n;
}
else
{
return n + findSum(n-1);
}
}
// Driver code
int main()
{
int n1 = 5, n2 = 7, n3 = 6;
printf("n1: %d n", n1);
printf("n2: %d n", n2);
printf("n3: %d n", n3);
printf("Sum of first %d natural numbers: %d n", n1, findSum(n1));
printf("Sum of first %d natural numbers: %d n", n2, findSum(n2));
printf("Sum of first %d natural numbers: %d n", n3, findSum(n3));
return 0;
}
Ausgabe:
n1: 5
n2: 7
n3: 6
Sum of first 5 natural numbers: 15
Sum of first 7 natural numbers: 28
Sum of first 6 natural numbers: 21
JavaScript-Implementierung zum Ermitteln der Summe der ersten N natürlichen Zahlen mit Rekursion
Unten ist die JavaScript-Implementierung zum Ermitteln der Summe der ersten n natürlichen Zahlen mithilfe von Rekursion:
// JavaScript implementation to find the sum of
// first n natural numbers using recursion
// Recursive function to find the sum of first n natural numbers
function findSum(n) {
if (n<=1) {
return n;
} else {
return n + findSum(n-1);
}
}
// Driver Code
var n1 = 5, n2 = 7, n3 = 6;
document.write("n1: " + n1 + "<br>");
document.write("n2: " + n2 + "<br>");
document.write("n3: " + n3 + "<br>");
document.write("Sum of first " + n1 + " natural numbers: " + findSum(n1) + "<br>");
document.write("Sum of first " + n2 + " natural numbers: " + findSum(n2) + "<br>");
document.write("Sum of first " + n3 + " natural numbers: " + findSum(n3) + "<br>");
Ausgabe:
n1: 5
n2: 7
n3: 6
Sum of first 5 natural numbers: 15
Sum of first 7 natural numbers: 28
Sum of first 6 natural numbers: 21
Java-Implementierung zum Ermitteln der Summe der ersten N natürlichen Zahlen mit Rekursion
Unten ist die Java-Implementierung zum Ermitteln der Summe der ersten n natürlichen Zahlen mithilfe von Rekursion:
// Java implementation to find the sum of
// first n natural numbers using recursion
public class Main
{
// Recursive function to find the sum of first n natural numbers
public static int findSum(int n)
{
if (n <= 1)
{
return n;
}
else
{
return n + findSum(n - 1);
}
}
// Driver code
public static void main(String[] args)
{
int n1 = 5, n2 = 7, n3 = 6;
System.out.println("n1: " + n1);
System.out.println("n2: " + n2);
System.out.println("n3: " + n3);
System.out.println("Sum of first " + n1 + " natural numbers: " + findSum(n1));
System.out.println("Sum of first " + n2 + " natural numbers: " + findSum(n2));
System.out.println("Sum of first " + n3 + " natural numbers: " + findSum(n3));
}
}
Ausgabe:
n1: 5
n2: 7
n3: 6
Sum of first 5 natural numbers: 15
Sum of first 7 natural numbers: 28
Sum of first 6 natural numbers: 21
Erfahren Sie mehr über Rekursion
Rekursives Denken ist beim Programmieren sehr wichtig. Manchmal kann die rekursive Lösung einfacher zu lesen sein als die iterative. Sie können viele Probleme wie das Tower of Hanoi Problem, DFS of Graph, Inorder/Preorder/Postorder Tree Traversals usw. mithilfe von Rekursion lösen.
Rekursion ist eine sehr mächtige Problemlösungsstrategie. Heutzutage wird es auch häufig in der funktionalen Programmierung verwendet. Sie müssen über die Grundlagen der Rekursion Bescheid wissen und wissen, wie Sie sie bei Ihren Programmierbemühungen anwenden können.