打印Floyd的三角形的Swift程序
Floyd的三角形是一个直角三角形,以Rober Floyd命名。它是由从左上角开始的自然数创建的,然后在指定的行中填充连续的数字。
示例演示
输入
4
输出
1
2 3
4 5 6
7 8 9 10
这里,弗洛伊德的三角形尺寸为4。因此它会打印出4行的弗洛伊德三角形。
在Swift中,我们可以使用以下方法打印出弗洛伊德三角形:
- 使用for−in循环
-
使用while循环
-
使用递归函数
算法
步骤1 - 创建一个用户定义的函数,该函数以总行数作为参数。
步骤2 - 这个函数包含一个”myNum”变量,它包含三角形中的起始数字。
步骤3 - 然后它运行一个嵌套循环来显示弗洛伊德三角形的所有行和列。
步骤4 - 定义一个变量来存储弗洛伊德三角形的尺寸。
步骤5 - 调用该函数并将尺寸作为参数传递。
步骤6 - 显示输出。
方法1:使用for−in循环打印弗洛伊德三角形
在这个方法中,我们将使用for−in循环来显示弗洛伊德三角形。这里我们运行两个for−in循环来显示弗洛伊德三角形的行和列。
例子
在下面的Swift程序中,我们将打印弗洛伊德三角形。所以为了实现这个目的,我们将创建一个函数,它只接受一个参数,即三角形的尺寸。这个函数有一个名为myNum的变量,它跟踪要在三角形中打印的数字,然后运行嵌套的for−in循环来显示弗洛伊德三角形的行。
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循环打印弗洛伊德三角形
在这种方法中,我们将使用while循环来显示弗洛伊德三角形。这里我们使用两个while循环来显示弗洛伊德三角形的行和列。
示例
在下面的Swift程序中,我们将打印弗洛伊德三角形。为此,我们将创建一个函数,它只接受一个参数,即三角形的大小。该函数具有myNum变量,用于跟踪要在三角形中打印的数字,以及cRow变量,用于跟踪当前行。然后,它使用嵌套的while循环来显示形成弗洛伊德三角形的行和列中的数字。
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
第三种方法:使用递归进行Floyd三角形的打印
在这种方法中,我们将使用递归来显示Floyd三角形。递归是一种函数调用自身来完成任务的过程。在这里,我们将递归调用该函数来显示Floyd三角形。
例子
在下面的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三角形。此外,使用上述方法,我们还可以通过对代码进行一些小改动来创建任何类型的Floyd三角形,如星形三角形等。