
Код:
function factorial (a:Number):Number {
if (a >= 0 && a < Number.MAX_VALUE && a != Number.MIN_VALUE && !isNaN (a)) {
var factor:Number = 1;
for (var i:Number = 1; i <= Math.round (a); i++) {
factor *= i;
}
return factor;
} else {
return Number.NaN;
}
}
var a = 5;
trace (factorial (a));
trace (factorial (Number.NaN));
trace (factorial (Number.MIN_VALUE));
trace (factorial (Number.MAX_VALUE));
trace (factorial (Number.NEGATIVE_INFINITY));
trace (factorial (Number.POSITIVE_INFINITY));