이 튜토리얼에서는 주어진 수열 (1×1) + (2×2) + (3×3) + (4×4) + (5×5) + … + (n×n)의 합을 구하는 C++ 프로그램을 살펴봅니다.
이 문제에서는 n값이 입력으로 주어지며, 첫 번째 항부터 마지막 항(n번째 항)까지 차례대로 더해서 전체 수열의 합을 계산하는 것이 목표입니다.
예제 코드
#include <iostream>
using namespace std;
// 수열의 합을 계산하는 함수
int calc_sum(int n) {
int i;
int sum = 0;
for (i = 1; i <= n; i++)
sum += (i * i);
return sum;
}
int main() {
int n = 7;
int res = calc_sum(n);
cout << res << endl;
return 0;
}
실행 결과
140
코드 설명
calc_sum 함수는 1부터 n까지 반복문을 돌면서 각 숫자의 제곱 값을 sum 변수에 누적합니다. 위 예제에서 n이 7이므로 1 + 4 + 9 + 16 + 25 + 36 + 49를 계산한 결과인 140이 출력됩니다.
추가 팁: 공식 활용하기
참고로 이 수열은 자연수 제곱의 합 공식 n(n+1)(2n+1)/6을 사용하면 반복문 없이도 한 번의 연산으로 결과를 구할 수 있습니다. 이렇게 하면 시간 복잡도가 O(1)로 줄어들어 n이 매우 클 때도 빠르게 계산할 수 있다는 장점이 있습니다.