Calculer la somme des carrés en C++

C++Beginner
Pratiquer maintenant

Introduction

Dans ce laboratoire, nous allons apprendre à écrire un programme C++ pour trouver la somme de la série 1^2 + 3^2 + 5^2 +... + n^2 en utilisant deux approches différentes. Nous vous guiderons étape par étape pour vous aider à comprendre le processus.

Créer un nouveau fichier C++

Tout d'abord, nous devons créer un nouveau fichier C++. Ouvrez le terminal et accédez au répertoire ~/project. Ici, nous allons créer un nouveau fichier nommé main.cpp.

cd ~/project
touch main.cpp

Écrire le code en utilisant la première méthode

Ici, nous allons écrire le programme en utilisant la première méthode. Dans cette méthode, nous allons utiliser une boucle for pour itérer sur les nombres impairs jusqu'à n et ajouter leurs carrés à la variable sum.

#include<iostream>
using namespace std;

int pattern_sum(int n){
    int sum=0;
    for(int i=1;i<=n;i+=2){
      sum+=(i*i);
    }
    return sum;
}

int main(){
    int num;
    cout<<"Enter the number of terms you want: ";
    cin>>num;
    cout<<"The sum of the series is: "<<pattern_sum(num)<<endl;
    return 0;
}

Explication du code :

  • Tout d'abord, nous incluons les fichiers d'en-tête nécessaires.
  • Ensuite, nous écrivons une fonction nommée pattern_sum, qui prend un entier n en entrée et renvoie la somme de la série.
  • À l'intérieur de la fonction, nous initialisons une variable nommée sum à 0.
  • Nous utilisons une boucle for commençant par 1 jusqu'à n avec un pas de 2 pour obtenir les nombres impairs, et ajoutons leurs carrés à la variable sum.
  • Enfin, nous renvoyons la somme.
  • Dans la fonction main(), nous demandons à l'utilisateur d'entrer le nombre de termes qu'il veut et stockons la valeur dans la variable num.
  • Nous affichons la somme de la série en appelant la fonction pattern_sum() avec l'entrée de l'utilisateur.

Écrire le code en utilisant la deuxième méthode

Ici, nous allons écrire le programme en utilisant la deuxième méthode. Dans cette méthode, nous utilisons la formule mathématique pour trouver la somme de la série.

#include<iostream>
using namespace std;

int pattern_sum(int n){
    int sum;
    sum = ( ((2 * n) - 1) * (((2 * n) - 1)+ 1) * ( ( 2 * ((2 * n) - 1) ) + 1 ) ) / 6;
    return sum;
}

int main(){
    int num;
    cout<<"Enter the number of terms you want: ";
    cin>>num;
    cout<<"The sum of the series is: "<<pattern_sum(num)<<endl;
    return 0;
}

Explication du code :

  • Tout d'abord, nous incluons les fichiers d'en-tête nécessaires.
  • Ensuite, nous écrivons une fonction nommée pattern_sum, qui prend un entier n en entrée et renvoie la somme de la série.
  • À l'intérieur de la fonction, nous utilisons la formule mathématique pour trouver la somme de la série et la stockons dans la variable sum.
  • Enfin, nous renvoyons la somme.
  • Dans la fonction main(), nous demandons à l'utilisateur d'entrer le nombre de termes qu'il veut et stockons la valeur dans la variable num.
  • Nous affichons la somme de la série en appelant la fonction pattern_sum() avec l'entrée de l'utilisateur.

Code complet pour main.cpp

Voici le code complet pour main.cpp, utilisant la deuxième méthode pour trouver la somme de la série :

#include<iostream>
using namespace std;

int pattern_sum(int n){
    int sum;
    sum = ( ((2 * n) - 1) * (((2 * n) - 1)+ 1) * ( ( 2 * ((2 * n) - 1) ) + 1 ) ) / 6;
    return sum;
}

int main(){
    int num;
    cout<<"Enter the number of terms you want: ";
    cin>>num;
    cout<<"The sum of the series is: "<<pattern_sum(num)<<endl;
    return 0;
}

Résumé

Dans ce laboratoire, nous avons appris à trouver la somme de la série 1^2 + 3^2 + 5^2 +... + n^2 en utilisant deux approches différentes : en utilisant une boucle for et en utilisant une formule mathématique. Nous avons également vu comment écrire un programme C++ pour résoudre ce problème. Maintenant, vous devriez avoir une compréhension claire de la manière de trouver la somme de la série en utilisant C++.