打印Floyd的三角形的Swift程序

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

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程