求前 n 個自然數之立方和的 C 程式?
在這個問題中,我們將瞭解如何求出前 n 個自然數的立方和。我們在此處使用一個 for 迴圈,從 1 到 n。在每一步中,我們計算項的立方然後將其新增到和中。此程式需要 O(n) 時間才能完成。但如果我們想在 O(1) 或常量時間內解決此問題,我們可以使用以下級數公式 −
演算法
cubeNNatural(n)
begin sum := 0 for i in range 1 to n, do sum := sum + i^3 done return sum end
示例
#include<stdio.h> long cube_sum_n_natural(int n) { long sum = 0; int i; for (i = 1; i <= n; i++) { sum += i * i * i; //cube i and add it with sum } return sum; } main() { int n; printf("Enter value of n: "); scanf("%d", &n); printf("Result is: %ld", cube_sum_n_natural(n)); }
輸出
Enter value of n: 6 Result is: 441
廣告