Maison  >  Article  >  développement back-end  >  La somme des n premiers nombres naturels élevée à la cinquième puissance

La somme des n premiers nombres naturels élevée à la cinquième puissance

PHPz
PHPzavant
2023-09-11 14:45:091262parcourir

La somme des n premiers nombres naturels élevée à la cinquième puissance

Les nombres naturels sont des nombres commençant à 1 et incluant tous les entiers positifs. L'article suivant traite de deux façons possibles de calculer la somme de la puissance cinquième des n premiers nombres naturels . Cet article examine les deux approches en détail et les compare en termes d'efficacité et d'intuitivité.

Énoncé du problème

Le but de ce problème est de calculer la somme arithmétique des n premiers nombres naturels, tous élevés à leur puissance cinquième, soit

$mathrm{1^5 + 2^5 + 3^5 + 4^5 + 5^5 + … + n^5}$ jusqu'au nième élément.

Exemple

Puisque n est un nombre naturel, sa valeur ne peut pas être inférieure à 1.

Input: n = 3
Output: 276

Explication

$mathrm{1^5 = 1 * 1 * 1 * 1 * 1 = 1}$

$mathrm{2^5 = 2 * 2 * 2 * 2 * 2 = 32}$

$mathrm {3^5 = 3 * 3 * 3 * 3 * 3 = 243}$

En ajoutant ces termes, nous obtenons $mathrm{1^5 + 2^5 + 3^5 = 276}$

Par conséquent, la somme des 3 premiers nombres naturels est 276.

Input: n = 1
Output: 1

Explication

$mathrm{1^5 = 1 * 1 * 1 * 1 * 1 = 1}$

Donc la somme du premier nombre naturel est 1.

Input: n = 11
Output: 381876

Explication

$mathrm{1^5 = 1 * 1 * 1 * 1 * 1 = 1}$

$mathrm{2^5 = 2 * 2 * 2 * 2 * 2 = 32}$

. ....

$mathrm{11^5 = 11 * 11 * 11 * 11 * 11 = 161051} $

Après avoir ajouté ces termes, nous obtenons $mathrm{1^5 + 2^5 + 3^5 + ... + 11^ 5 = 381876}$

La somme des 11 premiers nombres naturels est donc 381876.

Méthode intuitive

  • Utilisez une boucle itérative pour calculer la cinquième puissance de chaque nombre un par un.

  • Créez une variable pour stocker la somme après chaque itération de boucle.

  • Afficher les réponses.

Algorithme

Fonction principale()

  • Initialiser n.

  • La fonction appelle sumOfFifthPower().

  • Imprimez la somme.

Fonction sumOfFifthPower(int n)

  • Initialiser la somme = 0

  • pour (i de 1 à n)

    • somme = somme + (pow(i,5)

  • Rendre la somme

Exemple

Le programme calcule la puissance cinquième de chaque nombre et l'ajoute à la somme existante à chaque itération à l'aide d'une boucle for implémentée n fois dans la fonction sumOfFifthPower().

// A C++ program to find the sum of the first n natural numbers, all raised to their fifth power.
#include <iostream>
#include <cmath>
using namespace std;
// This function calculates the summation of fifth powers of the first // n natural numbers and stores
// it in the variable sum
int sumOfFifthPower(int n){
   int sum = 0;
   for (int i = 1; i <= n; i++)    {
   
      // calculate fifth power of i and add it to sum
      sum = sum + pow(i, 5);
   }
   return sum;
}

// main function
int main(){
   int n = 3;
   int ans; // to store final result
   ans = sumOfFifthPower(n); // function call
   cout << "The sum of the fifth powers of the first " << n << " natural numbers is: ";
   cout << ans; // Display the final result
   return 0;
}

Sortie

The sum of the fifth powers of the first 3 natural numbers is: 276

Analyse espace-temps

Complexité temporelle : O(n), car une seule boucle for est utilisée dans la fonction sumOfFifthPower().

Complexité spatiale : O(1), car aucun espace supplémentaire n'est utilisé.

Méthode alternative

  • Utilisez des formules mathématiques pour calculer la somme de la puissance cinquième de chaque nombre.

  • Afficher les réponses.

Formule

$$mathrm{displaystylesumlimits_{k=1}^n :k^5=frac{1}{12}(2n^6+6n^5+5n^4−n^ 2)}$$

Algorithme

Fonction principale()

  • Initialiser n.

  • La fonction appelle sumOfFifthPower().

  • Imprimez la somme.

Fonction sumOfFifthPower(int n)

  • Initialiser la somme = 0

  • Somme = ((2 * pow(n,6)) + (6 * pow(n,5) + (5 * pow(n,4) - (pow(n,2)) / 12

  • Rendre la somme

Exemple

Ce programme calcule la somme en substituant la valeur de n dans une formule mathématique qui calcule la somme des n premiers nombres naturels élevés à la puissance cinquième dans la fonction sumOfFifithPower().

// A C++ program to find the sum of the first n natural numbers, all raised to their fifth power.
#include <iostream>
#include <cmath>
using namespace std;

// This function calculates the summation of fifth powers of the first // n natural numbers and stores it in the variable sum
int sumOfFifthPower(int x){
   int sum = 0;
   sum = ((2 * pow(x,6)) + (6 * pow(x,5)) + (5 *pow(x,4)) - (pow(x,2))) / 12; 
   return sum;
}

// main function
int main(){
   int n = 3;
   int ans; // to store final result
   ans = sumOfFifthPower(n); // function call
   cout << "The sum of the fifth powers of the first " << n << " natural numbers is: ";
   cout << ans; // Display the final result
   return 0;
}

Sortie

The sum of the fifth powers of the first 3 natural numbers is: 276

Analyse espace-temps

Complexité temporelle : O(1), puisque la réponse est calculée en une seule itération à l'aide de la formule directe.

Complexité spatiale : O(1), car aucun espace supplémentaire n'est requis.

Comparez les méthodes ci-dessus

La traduction chinoise de est : La traduction chinoise de est :
Standard Méthode 1 Méthode 2
Complexité temporelle O(n) O(1)
Complexité spatiale O(1) O(1)
Intuitive PlusMoinsMoins
efficacitéMoinsMoins Plus

Conclusion

Cet article traite de deux méthodes pour calculer la somme des cinquièmes puissances des n premiers nombres naturels. Il présente également les concepts, les algorithmes, les solutions du programme C++ des deux méthodes et l'analyse de la complexité de chaque méthode. On peut observer que la première méthode a une complexité temporelle plus élevée mais est plus intuitive. La deuxième approche, quant à elle, utilise des formules mathématiques simples pour résoudre le problème efficacement dans le temps et dans l’espace O(1).

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer