Computer >> 컴퓨터 >  >> 프로그래밍 >> C 프로그래밍

C 프로그래밍에서 산술 평균 계산하기 – 기본 성질, 공식, 예제 코드

산술 평균(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

이처럼 산술 평균은 단순한 덧셈과 나눗셈만으로도 손쉽게 구할 수 있으며, 등차수열의 성질을 활용하면 두 수 사이에 균등하게 위치한 값들도 반복문 하나로 효율적으로 계산할 수 있습니다.