今日の人気記事

  1. printf関数の変換指定子
  2. 多次元配列
  3. 入力した2つの整数を足し算・引き算する
  4. 入力した自然数の約数を求める
  5. 入力した整数が偶数か奇数かを判別する

級数の和を計算する - 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」から級数の和を計算します。

サンプルプログラム の人気記事

  1. 配列に格納した数値を昇順ソートする
  2. サンプルプログラム集
  3. 入力した2つの数値を交換する
  4. 入力した行列の積(掛け算)を計算する
  5. 2次方程式の解を計算する
  6. 入力した自然数の約数を求める
  7. 入力した文字列の文字数を表示する(出力)
  8. 乱数 - 1〜10のランダムな数値を出力する
  9. for文 - 1つ飛ばしの繰り返し処理を実行する(奇数・偶数)
  10. 入力した整数が偶数か奇数かを判別する

関連記事(一部広告含む)