éä¹ãè¨ç®ãã
èªç¶æ°ã® éä¹ ã¯ æ°å¤ã« "æ°å¤ - 1" ãæããæ¬¡ã« "æ°å¤ - 2" ãæãã⦠1 ã¾ã§è¡ãã¾ããn ã®éä¹ã¯ n! ã¨è¡¨ããã¾ãã
éä¹ã®å®ç¾©ã¯ãã®ããã«æ¸ããã¨ãã§ãã¾ã:
n! = n * (n - 1) * (n - 2) * ...*1
ç°ãªã n ã®éä¹ã®å¤ã¯æ¬¡ã®ããã«ãªãã¾ã:
1! = 1
2! = 2 * 1 = 2
3! = 3 * 2 * 1 = 6
4! = 4 * 3 * 2 * 1 = 24
5! = 5 * 4 * 3 * 2 * 1 = 120
ãã®ã¿ã¹ã¯ã¯å帰å¼ã³åºãã使ã£ã¦ n! ã®è¨ç®ããã颿° factorial(n) ãæ¸ããã¨ã§ãã
alert( factorial(5) ); // 120
P.S. ãã³ã: n! 㯠n * (n-1)! ã¨æ¸ããã¨ãã§ãã¾ããä¾ãã°: 3! = 3*2! = 3*2*1! = 6
å®ç¾©ã«ããã¨ãéä¹ n! 㯠n * (n-1)! ã¨æ¸ããã¨ãã§ãã¾ãã
ã¤ã¾ããfactorial(n) ã®çµæã¯ n ã factorial(n-1) ã®çµæã§æãããã®ã¨ãã¦è¨ç®ãããã¨ãã§ãã¾ãã
function factorial(n) {
return (n != 1) ? n * factorial(n - 1) : 1;
}
alert( factorial(5) ); // 120
å帰ã®ãã¼ã¹å¤ã¯ 1 ã§ããããã§ã¯ãã¼ã¹ã 0 ã«ãããã¨ãã§ãã¾ããããã»ã©åé¡ã§ã¯ããã¾ããããå帰çãªã¹ãããã1åå¢ãã¾ã:
function factorial(n) {
return n ? n * factorial(n - 1) : 1;
}
alert( factorial(5) ); // 120