首頁 >web前端 >前端問答 >JavaScript怎麼求1到10的階乘和

JavaScript怎麼求1到10的階乘和

PHPz
PHPz原創
2023-04-24 10:51:012558瀏覽

階乘,指從1到某個正整數n的所有整數相乘的積,常用符號為n!, 如3! = 3 × 2 × 1 = 6。

在JavaScript中,可以使用迴圈和遞迴來解1到10的階乘和。

  1. 使用迴圈求解

迴圈是一種重複執行相同程式碼區塊的方法,可使用for或while迴圈語句實作。在這裡,我們使用for迴圈來計算1到10的階乘和。

程式碼:

let sum = 0;
for (let i = 1; i <= 10; i++) {
  let fact = 1;
  for (let j = i; j >= 1; j--) {
    fact *= j;
  }
  sum += fact;
}
console.log(sum); // 输出 4037913

解釋:

首先,我們定義了一個sum變數來儲存階乘和。

接著,我們使用for迴圈從1到10迭代每個數字i,並在每個迴圈中,定義一個變數fact來計算i的階乘。

內部的第二個for迴圈從i到1迭代每個數字j,併計算乘積fact = fact * j。

最後,將fact加入到sum中,以便計算階乘和。

  1. 使用遞歸來求解

遞歸是一種透過自身將問題分解為更小的子問題來解決問題的方法。在這裡,我們使用遞歸來計算1到10的階乘和。

程式碼:

function factorial(num) {
  if (num === 0) return 1;
  return num * factorial(num - 1);
}

let sum = 0;
for (let i = 1; i <= 10; i++) {
  sum += factorial(i);
}
console.log(sum); // 输出 4037913

解釋:

首先,我們定義了一個factorial函數,它接受一個整數作為輸入,並遞歸地計算該整數的階乘。如果輸入為0,則函數傳回1。

接著,我們使用for迴圈從1到10迭代每個數字i,並呼叫factorial函數來計算i的階乘。

最後,將計算得到的階乘加到sum中,以便計算階乘和。

無論是使用循環或遞歸,都可以有效地計算1到10的階乘和。但對於更大的數字,最好使用遞歸,因為循環的嵌套可能會導致程式碼複雜度增加,而遞歸則可以更容易處理更大的數字。

以上是JavaScript怎麼求1到10的階乘和的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn