自然數是從 1 開始並包含所有正整數的數字。以下文章討論了計算前 n 個自然數的五次方之和的兩種可能方法。本文詳細討論了這兩種方法,並在效率和直觀性方面對它們進行了比較。
這個問題的目的是計算前n個自然數的算術和,所有數都被提升到它們的五次方,即
$\mathrm{1^5 2^5 3^5 4^5 5^5 … n^5}$ 直到第n項。
由於n是自然數,因此它的值不能小於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}$
將這些項相加,我們得到$ \mathrm{1^5 2^5 3^5 = 276}$
因此,前3個自然數的和為276。
Input: n = 1
Output: 1
$\mathrm{1^5 = 1 * 1 * 1 * 1 * 1 = 1}$
因此前 1 個自然數的和是 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} $
加入這些項目後,我們得到$\mathrm{1^5 2^5 3^5 ... 11^ 5 = 381876}$
因此前 11 個自然數的和是 381876。
使用迭代循環逐一計算每個數字的五次方。
建立一個變數來儲存每次循環迭代後的總和。
顯示答案。
函數main()
初始化n。
函數呼叫 sumOfFifthPower()。
列印總和。
函數 sumOfFifthPower(int n)
初始化 sum = 0
for (i從1到n)
sum = sum (pow(i,5)
#傳回總和
該程式計算每個數字的五次方,並在每次迭代中使用for 循環將其添加到現有總和中,該循環在函數sumOfFifthPower() 中實現了n 次。
// 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
時間複雜度:O(n),因為在函數sumOfFifthPower()內部只使用了一個for迴圈。
空間複雜度:O(1),因為沒有使用額外的空間。
使用數學公式計算每個數字的五次方總和。
顯示答案。
$$\mathrm{\displaystyle\sum\limits_{k=1}^n \:k^5=\frac{1}{12}(2n^6 6n^5 5n^4−n^ 2) }$$
函數main()
初始化n。
函數呼叫 sumOfFifthPower()。
列印總和。
函數 sumOfFifthPower(int n)
初始化 sum = 0
總和= ((2 * pow(n,6)) (6 * pow(n,5) (5 * pow(n,4) - (pow(n,2)) / 12
傳回總和
該程式透過將n的值代入數學公式來計算總和,該公式計算了函數sumOfFifithPower()中前n個自然數的五次冪的總和。
// 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
時間複雜度:O(1),因為答案是使用直接公式在單次迭代中計算出來的。
空間複雜度:O(1),因為不需要額外的空間。
標準 | 方法1 | 方法2 | |
---|---|---|---|
時間複雜度 | O(n) | O(1) | |
空間複雜度 | O(1) | O(1) | |
直覺性 | 更多 | Less | 的中文翻譯為:Less |
效率 | Less | 的中文翻譯為:Less | 更多 |
本文討論了兩種方法來計算前n個自然數的五次冪之和。它還介紹了這兩種方法的概念、演算法、C 程式解決方案以及每種方法的複雜度分析。可以觀察到,第一種方法的時間複雜度較高,但較直觀。另一方面,第二種方法使用直接的數學公式以O(1)的時間和空間有效地解決了問題。
以上是前n個自然數的五次冪之和的詳細內容。更多資訊請關注PHP中文網其他相關文章!