Somme des N premiers nombres avec récursivité

CCBeginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans ce laboratoire, nous allons apprendre à utiliser la récursivité pour trouver la somme des N premiers nombres. Nous allons utiliser le langage de programmation C pour écrire un programme qui prend une entrée utilisateur, calcule la somme des N premiers nombres et affiche le résultat à l'utilisateur. La récursivité est une technique utilisée en programmation où une fonction s'appelle elle-même pour résoudre un problème.

Création d'un fichier et définition de la fonction principale

Tout d'abord, nous allons créer un nouveau fichier nommé main.c. La fonction principale prend une entrée utilisateur pour la valeur de N, passe cette entrée à la fonction de somme récursive, puis affiche le résultat.

#include<stdio.h>

int getSum(int);

int main()
{
    printf("Ce programme trouve la somme des N premiers nombres en utilisant la récursivité.\n");

    int n, sum;
    printf("\nEntrez la valeur de N : ");
    scanf("%d", &n);

    sum = getSum(n);

    printf("\nLa somme des premiers %d nombres est %d\n", n, sum);

    return 0;
}

Définition de la fonction de somme récursive

Dans cette étape, nous allons définir la fonction de somme récursive getSum(). Cette fonction prend un paramètre entier n et renvoie la somme des n premiers entiers. Cette fonction est appelée de manière récursive jusqu'à ce que nous arrivions à un cas où n est inférieur ou égal à 0.

int getSum(int n)
{
    static int sum = 0;

    if (n <= 0) {
        return sum;
    }

    sum += n;
    getSum(n-1);
}

L'instruction static int sum = 0; est utilisée pour créer une variable locale statique. Étant donné que cette opération est une récursion, la même variable sera utilisée chaque fois que getSum() est appelée plusieurs fois.

Exécution du code

Le programme est maintenant prêt à être exécuté. Compilez et exécutez le programme en utilisant la commande suivante :

$ gcc main.c -o main
$./main

Liste complète du code

#include<stdio.h>

int getSum(int);

int main()
{
    printf("Ce programme trouve la somme des N premiers nombres en utilisant la récursivité.\n");

    int n, sum;
    printf("\nEntrez la valeur de N : ");
    scanf("%d", &n);

    sum = getSum(n);

    printf("\nLa somme des premiers %d nombres est %d\n", n, sum);

    return 0;
}

int getSum(int n)
{
    static int sum = 0;

    if (n <= 0) {
        return sum;
    }

    sum += n;
    getSum(n-1);
}

Sommaire

Dans ce laboratoire, nous avons appris à utiliser la récursivité en programmation C pour trouver la somme des N premiers nombres. Nous avons créé un programme qui prend une entrée utilisateur, utilise une fonction récursive pour calculer la somme des N premiers entiers et affiche le résultat à l'utilisateur.