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