階乘(factorial)是基斯頓·卡曼(Christian Kramp, 1760 – 1826)于1808年發(fā)明的運算符號全蝶。
階乘,也是數(shù)學(xué)里的一種術(shù)語寺枉。
階乘指從1乘以2乘以3乘以4一直乘到所要求的數(shù)抑淫。
例如所要求的數(shù)是4,則階乘式是1×2×3×4姥闪,得到的積是24始苇,24就是4的階乘。 例如所要求的數(shù)是6筐喳,則階乘式是1×2×3×……×6催式,得到的積是720,720就是6的階乘避归。例如所要求的數(shù)是n荣月,則階乘式是1×2×3×……×n,設(shè)得到的積是x槐脏,x就是n的階乘喉童。
在表達(dá)階乘時,就使用“顿天!”來表示堂氯。如h階乘,就表示為h!
階乘一般很難計算牌废,因為積都很大咽白。
以下列出1至10的階乘。
1鸟缕!=1晶框,
2排抬!=2,
3授段!=6蹲蒲,
4!=24侵贵,
5届搁!=120,
6窍育!=720卡睦,
7!=5040漱抓,
8表锻!=40320
9!=362880
10乞娄!=3628800
另外瞬逊,數(shù)學(xué)家定義,0补胚!=1码耐,所以0追迟!=1溶其!
階乘的實現(xiàn)方法(一種遞歸,兩種循環(huán)):
方法1:遞歸
function factorial (num) {
if (num < 0) {
return -1;
} else if (num === 0 || num === 1) {
return 1;
} else {
return (num * factorial(num - 1));
}
};
factorial(6);
方法2:for循環(huán)
function factorial (num) {
if (num < 0) {
return -1;
} else if (num === 0 || num === 1) {
return 1;
} else {
for (var i = num - 1; i >= 1; i--) {
num *= i;
}
}
return num;
};
factorial(6);
方法3:while循環(huán)
function factorial (num) {
var result = num;
if (num < 0) {
return -1;
} else if (num === 0 || num === 1) {
return 1;
} else {
while (num > 1) {
num--;
result *= num;
}
}
return result;
};
factorial(6);