Swift程式列印Floyd三角形
Floyd三角形是一個直角三角形,以Rober Floyd命名。它由從左上角開始的自然數構成,後續數字按指定行填充。
示例演示
輸入
4
輸出
1 2 3 4 5 6 7 8 9 10
這裡,Floyd三角形的尺寸為4。因此它將列印直到4行的Floyd三角形。
在Swift中,我們可以使用以下方法列印Floyd三角形
使用for-in迴圈
使用while迴圈
使用遞迴函式
演算法
步驟1 - 建立一個使用者自定義函式,該函式將總行數作為引數。
步驟2 - 此函式包含一個“myNum”變數,該變數包含三角形的起始數字。
步驟3 - 然後它執行一個巢狀迴圈以顯示Floyd三角形的所有行和列。
步驟4 - 定義一個變數來儲存Floyd三角形的尺寸。
步驟5 - 呼叫函式並將大小作為引數傳遞。
步驟6 - 顯示輸出。
方法1:使用for-in迴圈的Floyd三角形
在這種方法中,我們將藉助for-in迴圈顯示Floyd三角形。在這裡,我們執行兩個for-in迴圈來顯示Floyd三角形的行和列。
示例
在下面的Swift程式中,我們將列印Floyd三角形。為此,我們將建立一個函式,該函式只接受一個引數,即三角形的大小。此函式具有myNum變數,該變數跟蹤要列印在三角形中的數字,然後執行巢狀的for-in迴圈以顯示Floyd三角形的行。
import Foundation import Glibc // Function to print Floyd's Triangle func displayFloydsTriangle(totalRows: Int) { var myNum = 1 for x in 1...totalRows { for _ in 1...x { print(myNum, terminator: " ") myNum += 1 } // Move to the next line print() } } let sizeOfRows = 6 // Calling function displayFloydsTriangle(totalRows: sizeOfRows)
輸出
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
方法2:使用while迴圈的Floyd三角形
在這種方法中,我們將藉助while迴圈顯示Floyd三角形。在這裡,我們執行兩個while迴圈來顯示Floyd三角形的行和列。
示例
在下面的Swift程式中,我們將列印Floyd三角形。為此,我們將建立一個函式,該函式只接受一個引數,即三角形的大小。此函式具有myNum變數,該變數跟蹤要列印在三角形中的數字,以及cRow變數來跟蹤當前行。然後它使用巢狀的while迴圈來顯示構成Floyd三角形的數字的行和列。
import Foundation import Glibc // Function to print Floyd's Triangle func displayFloydsTriangle(totalRows: Int) { var myNum = 1 var cRow = 1 while cRow <= totalRows { var col = 1 while col <= cRow { print(myNum, terminator: " ") myNum += 1 col += 1 } print() cRow += 1 } } let sizeOfRows = 7 // Calling function displayFloydsTriangle(totalRows: sizeOfRows)
輸出
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
方法3:使用遞迴的Floyd三角形
在這種方法中,我們將藉助遞迴顯示Floyd三角形。遞迴是一個函式呼叫自身以完成任務的過程。在這裡,我們將遞迴呼叫函式以顯示Flyod三角形。
示例
在下面的Swift程式中,我們將使用遞迴列印Floyd三角形。為此,我們將建立一個名為displayFloydsTriangle()的遞迴函式。它接受三個引數:總行數、起始數字和當前行。它藉助for-in迴圈列印每一行,然後它使用更新的引數呼叫自身以進行下一行。最後,我們使用指定行數到達fTriangle()函式以開始列印Floyd三角形。
import Foundation import Glibc // Function to print Floyds triangle func displayFloydsTriangle(totalrows: Int, num: Int, cRow: Int) { var x = num if cRow > totalrows { return } for _ in 1...cRow { print(x, terminator: " ") x += 1 } print() // Calling function recursively displayFloydsTriangle(totalrows: totalrows, num: x, cRow: cRow + 1) } func fTriangle(rows: Int) { displayFloydsTriangle(totalrows:rows, num: 1, cRow: 1) } let triangleSize = 7 fTriangle(rows: triangleSize)
輸出
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
現實生活中的應用
Floyd三角形的現實生活應用包括:
它用於教育目的,以教授巢狀迴圈、模式列印、遞迴等。
它也用於分析數學和計算機科學中的模式。
它也用於數學和謎題中。
它也用於藝術和設計中。
結論
這就是我們列印Floyd三角形的方法。這是瞭解for-in迴圈、while迴圈以及遞迴等巢狀迴圈工作原理的好方法。我們還可以使用迴圈和遞迴建立反向Floyd三角形。同樣,使用上述方法,我們還可以透過對程式碼進行一些小的更改來建立任何型別的Flyod三角形,例如星形三角形等。