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三角形,例如星形三角形等。
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP