이 문제에서 우리는 처음 n개의 자연수의 세제곱의 합을 구하는 방법을 볼 것입니다. 여기서 우리는 1에서 n까지 실행되는 하나의 for 루프를 사용하고 있습니다. 각 단계에서 우리는 항의 세제곱을 계산한 다음 합계에 더합니다. 이 프로그램은 완료하는 데 O(n) 시간이 걸립니다. 그러나 이것을 O(1) 또는 일정한 시간으로 풀고 싶다면 이 급수 공식을 사용할 수 있습니다 -
알고리즘
큐브N내츄럴(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