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.

Verwandte: Was ist eine Funktion in der Programmierung?

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:

Verwandte: Dynamische Programmierung: Beispiele, häufige Probleme und Lösungen

 # 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:

Verwandte:Was ist eine rekursive Funktion und wie erstellen Sie eine in Java?

 // 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.