自然数の二乗の平均を求める方法【C言語のサンプルコード付き】
自然数の二乗の平均は、1からnまでの自然数の二乗をすべて足し合わせ、その合計を個数nで割ることで求められます。
計算例
最初の2つの自然数の二乗の平均は2.5になります。
12 + 22 = 5 ⇒ 5 ÷ 2 = 2.5
プログラミングでこの値を計算する方法は、主に以下の2つがあります。
- ループを使う方法
- 数式(公式)を使う方法
方法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("The average of the square of %d natural numbers is %f", n,average);
return 0;
}実行結果
The average of the square of 2 natural numbers is 2.500000
方法2:数式を使って自然数の二乗の平均を計算する
計算を簡単にするために、数学の公式を利用することもできます。1からnまでの自然数の二乗の和を求める公式は「n×(n+1)×(2n+1)/6」です。この式をさらにnで割ると、二乗の平均を直接求める公式「(n+1)×(2n+1)/6」が導かれます。
この公式を使えば、ループ処理を行わずにO(1)の計算量で結果を得られるため、大きなnに対しても高速に動作します。
サンプルコード
#include <stdio.h>
int main() {
int n = 2;
float average = ((n+1)*((2*n)+1)/6);
printf("The average of the square of %d natural numbers is %f", n,average);
return 0;
}実行結果
The average of the square of 2 natural numbers is 2.500000
-
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
-
最初の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この公式を使えば、ループ処理を行わずに一発で答えを求めることが可能で