Maison > Article > développement back-end > 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é.
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.
Puisque n est un nombre naturel, sa valeur ne peut pas être inférieure à 1.
Input: n = 3
Output: 276
$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
$mathrm{1^5 = 1 * 1 * 1 * 1 * 1 = 1}$
Donc la somme du premier nombre naturel est 1.
Input: n = 11
Output: 381876
$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.
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.
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
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; }
The sum of the fifth powers of the first 3 natural numbers is: 276
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é.
Utilisez des formules mathématiques pour calculer la somme de la puissance cinquième de chaque nombre.
Afficher les réponses.
$$mathrm{displaystylesumlimits_{k=1}^n :k^5=frac{1}{12}(2n^6+6n^5+5n^4−n^ 2)}$$
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
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; }
The sum of the fifth powers of the first 3 natural numbers is: 276
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.
Standard | Méthode 1 | Méthode 2 | |
---|---|---|---|
Complexité temporelle | O(n) | O(1) | |
Complexité spatiale | O(1) | O(1) | |
Intuitive | Plus | La traduction chinoise deMoins | est :Moins |
efficacité | La traduction chinoise deMoins | est :Moins | Plus |
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!