N個連續奇數 JavaScript
在本題中,我們的目標是列印n個連續的奇數,並藉助Javascript功能實現此問題。因此,我們可以藉助Javascript中的迴圈來解決這個問題。
給定問題的邏輯
在給定的問題陳述中,我們必須設計一個程式來生成從1開始的給定數量的連續奇數。這將透過建立一個空陣列來儲存奇數,然後使用一個迴圈來將每個奇數新增到建立的陣列中來完成,該迴圈將執行n次。
迴圈將從第一個奇數1開始,並增加2以獲得下一個奇數。如果迴圈結束,則函式將返回包含n個連續奇數的陣列。
演算法
步驟1 - 在此程式中,我們需要生成n個連續的奇數,因此首先需要將其賦值給名為n的變數。
步驟2 - 如我們所知,第一個奇數始終為1,因此我們將將其賦值給名為begin的另一個變數。
步驟3 - 現在我們將建立一個名為oddNums的空陣列,用於儲存連續奇數的序列。
步驟4 - 定義上述內容後,我們需要迴圈遍歷n次數字序列。對於每次迴圈遍歷,我們將把begin的當前值新增到oddNums陣列中。然後將begin的值增加2以獲得序列中的下一個奇數。
步驟5 - 迴圈結束後,我們將返回oddNums陣列,該陣列現在包含直到n的奇數序列。
演算法程式碼
//function for getting n consecutive odd numbers
function consecutiveOddNumbers(n) {
let begin = 1;
const oddNums = [];
for (let i = 0; i < n; i++) {
oddNums.push(begin);
begin += 2;
}
return oddNums;
}
console.log(consecutiveOddNumbers(7));
複雜度
該演算法的時間複雜度為O(n)。因為迴圈運行了n次,並且每次迭代都花費恆定的時間將一個專案新增到陣列中並將begin變數增加2。程式碼的空間複雜度為O(n),因為我們建立了一個大小為n的陣列來儲存奇數。
結論
正如我們所看到的,程式碼實現了從1開始的n個奇數序列,並將其作為陣列返回。我們使用了基本的Javascript功能來生成程式碼。該演算法的時間複雜度是線性的,這對於建立奇數是一個有效的解決方案。但是對於非常大的n值,空間複雜度將變得效率較低。
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP