자연수 제곱의 평균이란, 1부터 n까지의 각 자연수를 제곱한 값들을 모두 더한 뒤, 그 합을 자연수의 개수 n으로 나눈 값을 의미합니다.
예시
처음 2개의 자연수(1과 2)에 대한 제곱의 평균은 다음과 같이 계산됩니다.
12 + 22 = 1 + 4 = 5 → 5 ÷ 2 = 2.5
이러한 평균값을 프로그래밍으로 구하는 방법은 크게 두 가지가 있습니다.
- 반복문(Loop) 활용
- 수학 공식 활용
방법 1: 반복문을 이용한 계산
이 방식은 1부터 n까지 모든 자연수를 순회하면서 각 수의 제곱을 구하고, 이를 누적 변수(sum)에 더하는 원리로 동작합니다. 반복이 끝난 후 누적된 합을 n으로 나누면 평균이 됩니다.
아래는 자연수 제곱의 평균을 구하는 C 언어 프로그램입니다.
예제 코드
#include <stdio.h>
int main() {
int n = 2;
float sum = 0;
for (int i = 1; i <= n; i++) {
sum = sum + (i * i);
}
float average = sum / n;
printf("%d개 자연수 제곱의 평균은 %f 입니다", n, average);
return 0;
}실행 결과
2개 자연수 제곱의 평균은 2.500000 입니다
방법 2: 수학 공식을 이용한 계산
반복문 없이도 수학 공식을 활용하면 훨씬 빠르고 간단하게 결과를 얻을 수 있습니다.
자연수 제곱의 합을 구하는 대표적인 공식은 다음과 같습니다.
제곱의 합 = n × (n+1) × (2n+1) / 6
여기서 이 합을 다시 n으로 나누면 평균이 되므로, 최종적으로 아래와 같은 간결한 공식이 완성됩니다.
제곱의 평균 = (n+1) × (2n+1) / 6
이 공식을 적용하면 반복 연산 없이 단 한 번의 계산으로 결과를 도출할 수 있어, n이 클 때 특히 효율적입니다.
예제 코드
#include <stdio.h>
int main() {
int n = 2;
float average = ((n + 1) * ((2 * n) + 1)) / 6;
printf("%d개 자연수 제곱의 평균은 %f 입니다", n, average);
return 0;
}실행 결과
2개 자연수 제곱의 평균은 2.500000 입니다
정리
두 방법 모두 동일한 결과를 출력하지만, 상황에 따라 선택 기준이 달라집니다. 반복문 방식은 로직의 흐름을 직관적으로 이해하기 좋고, 공식 방식은 시간 복잡도 측면에서 O(1)로 매우 효율적이므로 실무에서는 공식을 활용하는 것이 권장됩니다.