C言語で書いてみました

過去の情報処理技術者試験の出題をもとにして、Cのソースを起こしてみました。

■ 再帰を使った階乗計算(平成13年午前問12)

#include <stdio.h>

/* 再帰を使った階乗計算 */
unsigned long factorial(unsigned long n)
{
    if (n == 0) return 1;
    return (n * factorial(n - 1));
}

/* メイン ルーチン */
int main()
{
    unsigned long x, y;

    printf("正の整数を入力:");
    scanf("%lu", &x);
    y = factorial(x);
    printf("%lu の階乗:%lu\n", x, y);

    return 0;
}