#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; }