<?
// register_globals = on 時,以下這行可以省略
$F = $_GET['F'];

function
fact($x) {
  return
$x == 1 ? $x : $x * fact($x - 1);
}

if ( isset(
$F) && (int)$F && (int)$F < 100 )
  
$R = fact(abs((int)$F));
else
  
$R = "";
?>

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=big5">
<title>階乘</title>
<script language="JavaScript">
function toCheck() {
  if ( parseInt(document.fact.F.value) <= 0 ) {
    alert("請填入欲求階乘數的正整數!");
    return false;
  }
  return true;
}

function toClear() {
  document.fact.F.value="";
  document.fact.R.value="";
}
</script>
</head>

<body>
<center>
<br>
<form name="fact" action="<?echo $PHP_SELF;?>" method=get onsubmit="return toCheck();">
<input type=text name="F" value="<?if ( isset($F) ) echo (int)$F;?>" size=3 maxlength=2>!=
<input type=text name="R" value="<?if ( isset($R) ) echo $R;?>" size=20 readonly> 
<input type=submit name="S" value="計算"> 
<input type=button name="C" value="清除" onclick="JavaScript:toClear();">
</form>
</center>
</body>
</html>