級数の和を計算する - 1^2+2^2+3^2+...+n^2
当ページのリンクには広告が含まれています。
スポンサーリンク
次の級数の和を計算するサンプルプログラムを紹介します。
$$ 1^2 + 2^2 + 3^2 + \cdots + n^2 $$この級数の和は
\begin{aligned} \sum^{n}_{k=1} k^2 &= 1^2 + 2^2 + 3^2 + \cdots + n^2 \\ &= \frac{n(n+1)(2n+1)}{6} \end{aligned}と計算できます。
いくつかの例をみてみましょう。
例①
例えば、n=3 の場合は
\begin{aligned} \sum^{n}_{k=1} k^2 &= \frac{n(n+1)(2n+1)}{6} \\ &= \frac{3 \cdot 4 \cdot 7}{6} \\ &= 14 \end{aligned}と計算することができます。
例②
例えば、n=4 の場合は
\begin{aligned} \sum^{n}_{k=1} k^2 &= \frac{n(n+1)(2n+1)}{6} \\ &= \frac{4 \cdot 5 \cdot 9}{6} \\ &= 30 \end{aligned}と計算することができます。
サンプルプログラム
それでは級数(1^2+2^2+…+n^2)の和を計算するサンプルプログラムを紹介します。
/* * C言語のサンプルプログラム - Webkaru * - 級数の和を計算 - 1^2+2^2+3^2+...+n^2 - */ #include <stdio.h> int main(void){ int i; /* 級数 */ int n, sum; /* n の入力 */ printf("級数(1^2+2^2+…+n^2)の和を計算します。\n"); printf("nを入力してください = "); scanf("%d", &n); /* 級数の和を計算 */ sum = (n * (n + 1) * (2 * n + 1 )) / 6; printf("級数の和 = %d\n", sum); return 0; }
サンプルプログラムで使っている構文
実行結果
いくつかの実行結果です。
級数(1^2+2^2+…+n^2)の和を計算します。 nを入力してください = 3 級数の和 = 14
級数(1^2+2^2+…+n^2)の和を計算します。 nを入力してください = 4 級数の和 = 30
級数(1^2+2^2+…+n^2)の和を計算します。 nを入力してください = 10 級数の和 = 385
このように入力した「n」から級数の和を計算します。