산술 평균(Arithmetic Mean)은 여러 숫자로 이루어진 자료 전체를 모두 더한 뒤, 그 개수로 나눈 값을 의미합니다. 가장 널리 사용되는 대표적인 평균 계산 방식으로, 통계학뿐 아니라 프로그래밍에서도 자주 활용됩니다.
산술 평균의 기본 성질
n개의 수 x₁, x₂, …, xn의 평균이 x일 때, 각 관측값에 p를 더하면 새로운 관측값들의 평균은 (x + p)가 됩니다.
n개의 수 x₁, x₂, …, xn의 평균이 x일 때, 각 관측값에서 p를 빼면 새로운 평균은 (x − p)가 됩니다.
각 관측값에 0이 아닌 수 p를 곱하면 새로운 평균은 p·x가 됩니다.
각 관측값을 0이 아닌 수 p로 나누면 새로운 평균은 (x / p)가 됩니다.
산술 평균 공식
유형 1: 배열 값이 직접 주어진 경우
배열과 요소의 개수가 주어졌을 때 사용하는 가장 기본적인 방식입니다.
입력 – 1, 2, 3, 4, 5, 6, 7, 8, 9
출력 – 5
설명 – 모든 숫자의 산술 평균을 구하려면 먼저 전체 숫자를 더한 후, 산술 평균을 담을 변수를 만들어 합계를 요소 개수로 나눈 값을 대입하면 됩니다. 아래 예제에서는 armean이라는 변수가 이 역할을 담당합니다.
예제 코드
#include<iostream>
using namespace std;
int main(){
int n, i, sum=0;
int arr[]={1,2,3,4,5,6,7,8,9};
n=9;
for(i=0; i<n; i++) {
sum=sum+arr[i];
}
int armean=sum/n;
cout<<"Arithmetic Mean = "<<armean;
}
※ 위 코드는 화면 출력을 위해 C++의 cout을 사용한 예제입니다. C 언어로 작성하려면 printf() 함수로 바꿔주면 됩니다.
유형 2: 범위와 원소 개수가 주어진 경우
세 정수 X, Y, N이 주어졌을 때, X와 Y 사이의 N개의 산술 평균을 구하는 로직입니다. X와 Y 사이의 N개의 항은 등차수열(Arithmetic Progression)을 이룹니다.
X = 첫째 항 Y = 마지막 항
입력 – X = 22, Y = 34, N = 5
출력 – 24 26 28 30 32
완성되는 등차수열은 다음과 같습니다.
22 24 26 28 30 32 34
풀이 과정
두 수 X와 Y 사이의 N개의 산술 평균을 X₁, X₂, X₃, …, Xn이라고 합시다. 그러면 X, X₁, X₂, X₃, …, Xn, Y는 하나의 등차수열을 이루며, Y는 이 수열의 (N+2)번째 항이 됩니다.
공차(Common Difference)를 d라고 할 때, 등차수열의 (N+2)번째 항은 다음과 같이 표현할 수 있습니다.
Y = X + (N + 2 − 1)d Y − X = (N + 1)d
따라서 공차 d는 다음과 같이 구합니다.
d = (Y − X) / (N + 1)
첫째 항 X와 공차 d를 알아냈으므로, 이제 X와 Y 사이의 모든 N개의 산술 평균을 계산할 수 있습니다.
예제 코드
#include<stdio.h>
int main() {
int X = 22, Y = 34, N = 5;
float d = (float)(Y - X) / (N + 1);
for (int i = 1; i <= N; i++) {
printf("%3f ", (X + i * d));
}
return 0;
}
실행 결과
24.000000 26.000000 28.000000 30.000000 32.000000
이처럼 산술 평균은 단순한 덧셈과 나눗셈만으로도 손쉽게 구할 수 있으며, 등차수열의 성질을 활용하면 두 수 사이에 균등하게 위치한 값들도 반복문 하나로 효율적으로 계산할 수 있습니다.