Cプログラミング
 Computer >> コンピューター >  >> プログラミング >> Cプログラミング

最初のn個の偶数の平均を求める方法【ループと公式の2通りを解説】

n個の偶数の平均(相加平均)とは、それらの数値の合計を個数で割った値のことです。この平均は、大きく分けて次の2つの方法で求められます。

  • ループを使う方法: n個の偶数の合計を繰り返し処理で求め、その合計をnで割ります。

  • 公式を使う方法: 数学の公式を使って平均を直接計算します。

方法1:ループを使って求める

合計を取りたい個数までカウントするループを回しながら偶数を順に加算して合計を求め、最後にその合計をnで割ります。

サンプルコード

#include <stdio.h>
int main(void) {
    int n = 5;
    int sum = 0;
    int average = 0;
    for (int i = 1; i <= n ; i++) {
        sum += (i*2);
    }
    average = sum / n;
    printf("The average of %d even natural numbers is %d", n,average);
    return 0;
}

実行結果

The average of 5 even natural numbers is 6

方法2:公式を使って求める

数学の公式を利用すれば、ループ処理なしで平均を直接計算できます。

最初のn個の偶数(2, 4, 6, …)の合計は「n × (n + 1)」で表されます。これを個数nで割ると、

平均 = n(n + 1) ÷ n = n + 1

となり、平均はシンプルに「n + 1」で求まります。

サンプルコード

#include <stdio.h>
int main(void) {
    int n = 5;
    int average = n+1 ;
    printf("The average of %d even natural numbers is %d", n,average);
    return 0;
}

実行結果

The average of 5 even natural numbers is 6

どちらの方法を選ぶべきか

結論としては、公式を使う方法2がおすすめです。ループ方式では、nの値が大きくなるほどループがn回実行され、処理時間が増加していきます。一方、公式方式は計算量がO(1)であり、nがどんなに大きくても一定の時間で結果を得られます。そのため、大規模なデータを扱う場合やパフォーマンスが重視される場面では、公式による直接計算が有利です。

  1. C言語で最初のn個の自然数の立方和を求めるプログラム

    この記事では、最初のn個の自然数(1からnまで)の立方和を求める方法について解説します。基本的なアプローチとしては、1からnまで繰り返すforループを1つ使い、各ステップでその項の立方を計算して合計に加算していきます。この方法の計算量はO(n)です。しかし、O(1)つまり定数時間でこの問題を解きたい場合は、以下の級数の公式を利用できます。1³ + 2³ + 3³ + … + n³ = {n(n+1)/2}²アルゴリズムcubeNNatural(n)begin sum := 0 for i in range 1 to n, do sum := sum + i^3

  2. 最初のn個の自然数の二乗和を求めるC++プログラムの解説

    はじめにこの記事では、最初のn個の自然数(1からnまで)の二乗和を求める方法について解説します。例えば、n = 4 の場合、計算結果は 1² + 2² + 3² + 4² = 1 + 4 + 9 + 16 = 30 となります。基本的なアプローチとしては、1からnまで繰り返すforループを使用し、各ステップで項の二乗を計算して合計に加算していく方法があります。このプログラムの計算量は O(n) です。しかし、O(1) の定数時間で解きたい場合は、次の級数の公式を利用できます。Σk² = n(n + 1)(2n + 1) / 6この公式を使えば、ループ処理を行わずに一発で答えを求めることが可能で