今日の人気記事

  1. (前置・後置)インクリメント演算子, ++
  2. #include <stdio.h> と printf 関数 - プログラムの基本
  3. MinGW - gcc の環境設定(パスを通す) - Windows環境
  4. 変数名の付け方 - 命名規則
  5. 現在時刻の取得 - time関数

級数の和を計算する - 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. 配列に格納した数値を昇順ソートする
  4. 入力した自然数の階乗を計算する
  5. 入力した自然数が素数かどうかを判定する
  6. 配列に格納した数値を降順ソートする
  7. 配列の数値の平均値を計算する
  8. 入力した2つの数値の掛け算・割り算する
  9. 入力した文字列の文字数を表示する(出力)
  10. 入力した2つの自然数の最大公約数を求める

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