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三角形,例如星形三角形等。