今日の人気記事

  1. printf関数の変換指定子
  2. int main(void) - プログラムの基本
  3. 条件演算子(3項演算子)「? :」
  4. 入力した2つの自然数の最大公約数を求める
  5. エスケープシーケンス - 特殊文字

入力した自然数の階乗を計算する

当ページのリンクには広告が含まれています。

スポンサーリンク

入力した自然数の階乗を計算するサンプルプログラムを紹介します。

階乗

自然数 n の階乗は

\begin{aligned} n! \end{aligned}

で表され

\begin{aligned} n! = n \times (n-1) \times (n-2) \times \cdots \times 3 \times 2 \times 1 \end{aligned}

を意味します。

例えば、3 の階乗は

\begin{aligned} 3! &= 3 \times 2 \times 1 \\ &= 6 \end{aligned}

5 の階乗は

\begin{aligned} 5! &= 5 \times 4 \times 3 \times 2 \times 1 \\ &= 120 \end{aligned}

8 の階乗は

\begin{aligned} 8! &= 8 \times 7 \times 6 \times 5 \times 4 \times 3 \times 2 \times 1 \\ &= 40320 \end{aligned}

になります。

サンプルプログラム

それでは階乗を計算するプログラムをみてみましょう。

/*
 * C言語のサンプルプログラム - Webkaru
 * - 入力した自然数の階乗を計算 -
 */
#include <stdio.h>

int main()
{

  int i;

  /* 自然数 */
  int num;

  /* 階乗 */
  int fact = 1;

  /* 自然数の入力 */
  printf("自然数を入力してください = ");
  scanf("%d", &num);

  /* 自然数の階乗を計算 */
  for(i=1; i<=num; ++i) {
    fact = fact * i;
  };

  /* 階乗を出力 */
  printf("「%d」の階乗は「%d」です。\n", num, fact);

  return 0;
}

サンプルプログラムで使っている構文

実行結果

いくつかの実行結果です。

自然数を入力してください = 3
「3」の階乗は「6」です。
自然数を入力してください = 5
「5」の階乗は「120」です。
自然数を入力してください = 8
「8」の階乗は「40320」です。
自然数を入力してください = 12
「12」の階乗は「479001600」です。

このように入力した自然数の階乗を計算・出力します。

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

  1. 10進数を2進数に変換する
  2. 入力した自然数の階乗を計算する
  3. 入力した2つの数値の掛け算・割り算する
  4. 配列に格納した数値を昇順ソートする
  5. フィボナッチ数の計算する
  6. for文 - 1つ飛ばしの繰り返し処理を実行する(奇数・偶数)
  7. サンプルプログラム集
  8. 2次方程式の解を計算する
  9. 入力した2つの自然数の最大公約数を求める
  10. 入力した行列の積(掛け算)を計算する

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