/****************************/
/* nの階乗の計算           */
/*      coded by Y.Suganuma */
/****************************/
#include <stdio.h>
double kaijo(int);
int main()
{
/*
	 データの入力
*/
	int n;
	printf("nの値を入力して下さい ");
	scanf("%d", &n);
/*
	 階乗の計算
*/
	double kai = kaijo(n);
/*
	 結果の出力
*/
	printf("   %dの階乗は=%f\n",n,kai);
	return 0;
}
/**************************/
/* mの階乗               */
/*      m : データ        */
/*      return : nの階乗 */
/**************************/
double kaijo(int m)
{
	double s;
	if (m > 1)
		s = m * kaijo(m-1);	 /* 自分自身を呼んでいる */
	else
		s = 1;
	return s;
}