Computer >> 컴퓨터 >  >> 프로그램 작성 >> C 프로그래밍

C 처음 n개의 자연수의 세제곱합을 구하는 프로그램?

<시간/>

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

C 처음 n개의 자연수의 세제곱합을 구하는 프로그램?

알고리즘

큐브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