打印Floyd的三角形的Swift程序
Floyd的三角形是一個直角三角形,以Rober Floyd命名。愛掏網(wǎng) - it200.com它是由從左上角開始的自然數(shù)創(chuàng)建的,然后在指定的行中填充連續(xù)的數(shù)字。愛掏網(wǎng) - it200.com
示例演示
輸入
4
輸出
1
2 3
4 5 6
7 8 9 10
這里,弗洛伊德的三角形尺寸為4。愛掏網(wǎng) - it200.com因此它會打印出4行的弗洛伊德三角形。愛掏網(wǎng) - it200.com
在Swift中,我們可以使用以下方法打印出弗洛伊德三角形:
- 使用for?in循環(huán)
-
使用while循環(huán)
-
使用遞歸函數(shù)
算法
步驟1 - 創(chuàng)建一個用戶定義的函數(shù),該函數(shù)以總行數(shù)作為參數(shù)。愛掏網(wǎng) - it200.com
步驟2 - 這個函數(shù)包含一個”myNum”變量,它包含三角形中的起始數(shù)字。愛掏網(wǎng) - it200.com
步驟3 - 然后它運行一個嵌套循環(huán)來顯示弗洛伊德三角形的所有行和列。愛掏網(wǎng) - it200.com
步驟4 - 定義一個變量來存儲弗洛伊德三角形的尺寸。愛掏網(wǎng) - it200.com
步驟5 - 調(diào)用該函數(shù)并將尺寸作為參數(shù)傳遞。愛掏網(wǎng) - it200.com
步驟6 - 顯示輸出。愛掏網(wǎng) - it200.com
方法1:使用for?in循環(huán)打印弗洛伊德三角形
在這個方法中,我們將使用for?in循環(huán)來顯示弗洛伊德三角形。愛掏網(wǎng) - it200.com這里我們運行兩個for?in循環(huán)來顯示弗洛伊德三角形的行和列。愛掏網(wǎng) - it200.com
例子
在下面的Swift程序中,我們將打印弗洛伊德三角形。愛掏網(wǎng) - it200.com所以為了實現(xiàn)這個目的,我們將創(chuàng)建一個函數(shù),它只接受一個參數(shù),即三角形的尺寸。愛掏網(wǎng) - it200.com這個函數(shù)有一個名為myNum的變量,它跟蹤要在三角形中打印的數(shù)字,然后運行嵌套的for?in循環(huán)來顯示弗洛伊德三角形的行。愛掏網(wǎng) - it200.com
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循環(huán)打印弗洛伊德三角形
在這種方法中,我們將使用while循環(huán)來顯示弗洛伊德三角形。愛掏網(wǎng) - it200.com這里我們使用兩個while循環(huán)來顯示弗洛伊德三角形的行和列。愛掏網(wǎng) - it200.com
示例
在下面的Swift程序中,我們將打印弗洛伊德三角形。愛掏網(wǎng) - it200.com為此,我們將創(chuàng)建一個函數(shù),它只接受一個參數(shù),即三角形的大小。愛掏網(wǎng) - it200.com該函數(shù)具有myNum變量,用于跟蹤要在三角形中打印的數(shù)字,以及cRow變量,用于跟蹤當前行。愛掏網(wǎng) - it200.com然后,它使用嵌套的while循環(huán)來顯示形成弗洛伊德三角形的行和列中的數(shù)字。愛掏網(wǎng) - it200.com
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)
輸出結(jié)果
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三角形。愛掏網(wǎng) - it200.com遞歸是一種函數(shù)調(diào)用自身來完成任務(wù)的過程。愛掏網(wǎng) - it200.com在這里,我們將遞歸調(diào)用該函數(shù)來顯示Floyd三角形。愛掏網(wǎng) - it200.com
例子
在下面的Swift程序中,我們將使用遞歸打印Floyd三角形。愛掏網(wǎng) - it200.com為此,我們將創(chuàng)建一個名為displayFloydsTriangle()的遞歸函數(shù)。愛掏網(wǎng) - it200.com它接受三個參數(shù):總行數(shù)、起始數(shù)字和當前行。愛掏網(wǎng) - it200.com它使用for-in循環(huán)打印每一行,然后使用更新的參數(shù)調(diào)用自身以打印下一行。愛掏網(wǎng) - it200.com最后,我們使用指定的行數(shù)調(diào)用fTriangle()函數(shù)來開始打印Floyd三角形。愛掏網(wǎng) - it200.com
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三角形的真實用途是:
- 用于教育目的,教授嵌套循環(huán)、模式打印、遞歸等。愛掏網(wǎng) - it200.com
-
也用于分析數(shù)學和計算機科學中的模式。愛掏網(wǎng) - it200.com
-
也用于數(shù)學和謎題中。愛掏網(wǎng) - it200.com
-
也用于藝術(shù)和設(shè)計。愛掏網(wǎng) - it200.com
結(jié)論
這就是我們?nèi)绾未蛴loyd三角形。愛掏網(wǎng) - it200.com它是理解嵌套循環(huán)(如for-in循環(huán)、while循環(huán))和遞歸工作方式的好方法。愛掏網(wǎng) - it200.com我們還可以使用循環(huán)和遞歸創(chuàng)建一個反向的Floyd三角形。愛掏網(wǎng) - it200.com此外,使用上述方法,我們還可以通過對代碼進行一些小改動來創(chuàng)建任何類型的Floyd三角形,如星形三角形等。愛掏網(wǎng) - it200.com