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

처음 n개의 홀수 자연수의 평균 구하는 방법

이 글에서는 사용자가 입력한 n에 대해 처음 n개의 홀수 자연수의 평균을 구하는 방법을 알아봅니다. i번째 홀수는 공식 2*i + 1로 계산할 수 있으며, 이번 풀이에서도 이 공식을 그대로 활용합니다. 먼저 알고리즘을 살펴보며 전체 흐름을 명확하게 이해해 보겠습니다.

알고리즘

avgOddNaturalNumber(n)

Begin
    sum := 0
    for i in range 0 to n-1, do
        sum := sum + (2i + 1)
    done
    return sum/n
End

C++ 예제 코드

#include<iostream>
using namespace std;

float avgOddNaturalNumber(int n){
    int sum = 0;
    for(int i = 0; i<n; i++){
        sum += (2*i + 1);
    }
    return (float)sum / n;
}

int main() {
    int n;
    cout << "숫자를 입력하세요: ";
    cin >> n;
    cout << "처음 " << n << "개의 홀수 자연수의 평균은: " << avgOddNaturalNumber(n);
    return 0;
}

실행 결과

숫자를 입력하세요: 5
처음 5개의 홀수 자연수의 평균은: 5

코드 설명

위 프로그램은 다음과 같은 순서로 동작합니다.

1. 변수 sum을 0으로 초기화하여 홀수들의 합을 저장할 준비를 합니다.
2. 반복문에서 i가 0부터 n-1까지 증가하면서 각 단계마다 2*i + 1을 더합니다. 이렇게 하면 1, 3, 5, 7, ... 처럼 연속된 홀수가 차례대로 누적됩니다.
3. 반복이 끝나면 총합을 n으로 나누어 평균을 반환합니다. 정수 나눗셈으로 인한 오차를 방지하기 위해 float 형 변환을 적용했습니다.

수학적 배경

흥미로운 사실 하나를 덧붙이자면, 처음 n개의 홀수 자연수의 합은 항상 n²과 같습니다. 예를 들어 n=5일 때 1+3+5+7+9 = 25 = 5² 입니다. 따라서 평균은 n² ÷ n = n이 되어, 처음 n개의 홀수 자연수의 평균은 언제나 n이라는 결론을 얻을 수 있습니다. 이 성질을 이용하면 반복문 없이도 평균을 바로 계산할 수 있습니다.