パソコンで数値計算

自然数nの階乗を求める

階乗計算は、数値計算なら一瞬

自然数 n の階乗を求める場合、手計算でも容易に求められますが、自然数 n の値が大きくなるほど、求めるのが難しくなってきます。そこで、数値計算の手を借りると、一瞬で求める事が可能になります。

プログラムソース

以下は、自然数 n の階乗を求めるプログラムのソースコード例です。 処理は複雑ではありませんので、関数を使わなくても容易に書けますが、関数を使いこなせると、確実に後のプログラミング作業が楽になりますので、関数を使用する事をおすすめします。

#include <stdio.h>
 
long int factorial(int n);    //自然数nを受け取り、階乗計算結果を返す関数
 
int main()
{
    int n;
 
    printf("自然数を入力して下さい\n");
    scanf("%d",&n);
 
    printf("自然数 %d の階乗は %ld です。\n",n,factorial(n));
 
    return 0;
}
 
long int factorial(int n)
{
    long int result;
 
    result = 1;
 
    do {
        result = result * n;
        n--;
    } while(n > 0);        //nが0になったらループ終了となる
 
    return result;
}


数値計算実行結果

上記のプログラムを実行すると、自然数 n の入力を求められます。例として 5 と入力すると、以下のように表示されます。

自然数を入力して下さい
5
自然数 5 の階乗は 120 です。

2009/04/19 更新