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

처음 n개의 자연수의 제곱합을 위한 C++ 프로그램?

<시간/>

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

처음 n개의 자연수의 제곱합을 위한 C++ 프로그램?

알고리즘

사각형(n)

begin
   sum := 0
   for i in range 1 to n, do
      sum := sum + i^2
   done
   return sum
end

예시

#include<iostream>
using namespace std;
long square_sum_n_natural(int n) {
   long sum = 0;
   for (int i = 1; i <= n; i++) {
      sum += i * i; //square i and add it with sum
   }
   return sum;
}
main() {
   int n;
   cout << "Enter N: ";
   cin >> n;
   cout << "Result is: " << square_sum_n_natural(n);
}

출력

Enter N: 4
Result is: 30