JavaScript 中的數字模式


對於渴望提升程式碼效率和熟練度的 Web 開發人員來說,理解 JavaScript 中的數字模式至關重要。這個概念包括建立遵循特定原則或排列的數字序列,從而對控制複雜演算法功能的基本數學概念產生寶貴的見解。生成數字模式的能力是 Web 開發人員提升程式碼質量和增強基於 Web 的應用程式使用者體驗的基本技能。在這篇文章中,我們將深入探討在 JavaScript 中生成數字模式的複雜性,並檢查可用於實現此目標的各種方法和策略。

問題陳述

需要該模式生成一個三角形結構的數字序列,其中每一行包含從 1 到當前行號的遞增數字。例如,當輸入引數為 5 時,該模式應該生成一個包含 5 行數字的輸出,每行包含一些取決於行號的數字。

模式 1

輸入 -

5

輸出 -

01
01 02
01 02 03
01 02 03 04
01 02 03 04 05

方法

要使用 JavaScript 建立數字模式,我們需要使用巢狀迴圈。外迴圈將從 1 迭代到輸入數字,內迴圈將從 1 迭代到外迴圈變數的當前值。在內迴圈中,我們將數字連線起來以形成模式。

示例

給定的程式碼定義了一個名為 getPattern(n) 的函式,用於列印三角形數字模式。它初始化一個迴圈,該迴圈遍歷每一行並建立一個名為 row 的空字串變數。在行迴圈內,另一個迴圈遍歷當前行中的每一列。它將列號轉換為字串,如果需要,用前導零填充它,並在每個數字後新增一個空格。完成列迴圈後,列印行字串。最後,宣告一個常量 n 併為其賦值 4,並使用 n 作為引數呼叫 getPattern 函式以列印 4 行的模式。

function getPattern(n){
   // Loop through each row 
   for (let i = 1; i <= n; i++) { 

      // Create an empty string for the row 
      let row = ""; 

      // Loop through each column in the row 
      for (let j = 1; j <= i; j++) { 
         // Add the column number to the row 
         row += j.toString().padStart(2, "0") + " "; 
      } 
      // Print the row 
      console.log(row); 
   } 
}
 
const n=4;
getPattern(n);

輸出

以下是控制檯輸出 -

01 
01 02 
01 02 03 
01 02 03 04

模式 2

輸入 -

5

輸出 -

1 
1 2 
1 2 3 
1 2 3 4 
1 2 3 4 5

方法

要生成模式,請遍歷從 1 到所需行數的行。在每一行中,從 1 迭代到當前行號,並將當前數字追加到模式字串,後跟一個空格。在完成每一行後新增一個換行符。最後,返回生成的模式。

示例

generateNumberPyramid 函式採用一個引數 rows 來確定金字塔中的行數。它使用巢狀迴圈來迭代每一行和每一列,將數字與空格連線到一個空的 pattern 字串。外部迴圈表示當前行號,從 1 執行到 rows。內部迴圈從 1 執行到當前行號,將數字連線到 pattern。在每次內部迴圈迭代之後,都會新增一個換行符。最後,返回 pattern 字串。

function generateNumberPyramid(rows) {
   let pattern = '';
   for (let i = 1; i <= rows; i++) {
      for (let j = 1; j <= i; j++) {
         pattern += j + ' ';
      }
      pattern += '
'; } return pattern; } // Example usage: console.log(generateNumberPyramid(5));

輸出

以下是控制檯輸出 -

1 
1 2 
1 2 3 
1 2 3 4 
1 2 3 4 5

模式 3

輸入 -

4

輸出 -

1 
2 3 
4 5 6 
7 8 9 10

方法

要生成模式,請將變數“num”初始化為 1。遍歷行,從 1 遞增到所需數字。在每一行中,從 1 迭代到當前行號。將當前數字追加到模式字串,後跟一個空格。在新增每個數字後遞增“num”。在完成每一行後新增一個換行符。最後,返回生成的模式。

示例

generateFloydsTriangle 函式採用一個表示三角形行數的引數,並使用迴圈構建模式。它初始化一個空字串 pattern 和一個變數 num 來跟蹤當前數字。外部迴圈遍歷行,而內部迴圈遍歷到當前行號。在內部迴圈內,將 num 與空格連線並新增到 pattern。在每一行之後,新增一個換行符。該函式返回 pattern 字串。給出了一個使用示例,使用引數 4 呼叫該函式。

function generateFloydsTriangle(rows) {
   let pattern = '';
   let num = 1;
   for (let i = 1; i <= rows; i++) {
      for (let j = 1; j <= i; j++) {
         pattern += num + ' ';
         num++;
      }
      pattern += '
'; } return pattern; } // Example usage: console.log(generateFloydsTriangle(4));

輸出

以下是控制檯輸出 -

1 
2 3 
4 5 6 
7 8 9 10

模式 4

輸入 -

5

輸出 -

1
1 1
1 2 1
1 3 3 1
1 4 6 4 1

方法

要使用二項式係數生成模式,請遍歷行,並在每一行中遍歷到當前行索引。使用階乘函式計算每個位置的二項式係數。將係數追加到行字串,後跟一個空格。在每一行之後新增一個換行符。最後,返回生成的模式。階乘函式應該透過將數字乘以 (number - 1) 的階乘來遞迴地計算階乘,對於 0 或 1 返回 1 作為基本情況。

示例

generatePascalsTriangle 函式採用一個表示行數的引數並初始化一個空字串 pattern。它包含一個階乘輔助函式。外部迴圈表示當前行,在其內部,行變數儲存當前行中的數字。內部迴圈表示當前列,計算二項式係數,並將其新增到行字串。在每行的內部迴圈完成後,修剪行字串,新增換行符,並將其連線到 pattern 字串。最後,返回 pattern 字串。提供了一個使用示例,使用引數 5 呼叫 generatePascalsTriangle。

function generatePascalsTriangle(rows) {
   let pattern = '';
   for (let i = 0; i < rows; i++) {
      let row = '';
      for (let j = 0; j <= i; j++) {
         let coef = factorial(i) / (factorial(j) * factorial(i - j));
         row += coef + ' ';
      }
      pattern += row.trim() + '
'; } return pattern; } function factorial(num) { if (num <= 1) { return 1; } return num * factorial(num - 1); } // Example usage: console.log(generatePascalsTriangle(5));

輸出

以下是控制檯輸出 -

1
1 1
1 2 1
1 3 3 1
1 4 6 4 1

結論

總之,探索 JavaScript 中的數字模式既有趣又具有智力上的刺激性。透過利用數字的數學特性和 JavaScript 的靈活性,開發人員可以建立視覺上令人驚歎和複雜的模式。這些模式的應用不僅僅侷限於美學,還可以用於生成隨機值、促進資料分析以及幫助加密演算法。因此,研究 JavaScript 中的數字模式為創新和解決問題提供了多種可能性。透過深入研究數論和 JavaScript 程式設計的複雜性,開發人員可以擴充套件他們的技能並突破可能的界限。

更新於: 2023年8月4日

3K+ 次檢視

開啟您的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.