Trong bài toán này, chúng ta sẽ xem làm thế nào chúng ta có thể nhận được tổng các lập phương của n số tự nhiên đầu tiên. Ở đây chúng tôi đang sử dụng một vòng lặp for, chạy từ 1 đến n. Trong mỗi bước, chúng ta sẽ tính toán khối của số hạng và sau đó cộng nó vào tổng. Chương trình này mất O (n) thời gian để hoàn thành. Nhưng nếu chúng ta muốn giải điều này trong O (1) hoặc thời gian không đổi, chúng ta có thể sử dụng công thức chuỗi này -
Thuật toán
cubeNNatural (n)
begin sum := 0 for i in range 1 to n, do sum := sum + i^3 done return sum end
Ví dụ
#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));
} Đầu ra
Enter value of n: 6 Result is: 441