Swift 程序打印帕斯卡三角

swiftserver side programmingprogramming更新于 2025/9/19 2:52:17

本教程将讨论如何编写 Swift 程序打印帕斯卡三角。

帕斯卡三角是一个二进制系数的三角数组。它是一个永不结束的等边三角形,始终遵循将上一行的两个数字相加得出下一行数字的规则。例如,第一行的初始数字为 1,因此第二行的数字是第一行两个数字 0+1 和 1+0 之和,因此我们得到 [1, 1]。现在第三行的数字是第二行两个数字 0+1、1+1、1+0 之和,所以我们得到第三行 [1, 2, 1],依此类推……

下面是同样的演示 −

输入

假设我们给定的输入是 −

Total number of rows:
10

输出

期望的输出是 −

                          1

                         1 1

                        1 2 1

                       1 3 3 1

                      1 4 6 4 1

                    1 5 10 10 5 1

                   1 6 15 20 15 6 1

                  1 7 21 35 35 21 7 1

                 1 8 28 56 70 56 28 8 1

               1 9 36 84 126 126 84 36 9 1

算法

以下是算法 -

步骤 1 - 创建函数

步骤 2 - 声明一个名为 res 的变量来存储结果。

步骤 3 - 检查行数是否等于 0。如果是,则返回。

步骤 4 - 运行 for 循环来处理总行数。此循环从 0 开始到 row-1(或 0..<row)。

步骤 5 - 声明另一个名为 Cres 的变量来存储当前结果。

步骤 6 - 运行嵌套 for 循环来打印空格。此循环从 0..<(row-x-1) 开始。

步骤 7 - 运行另一个嵌套 for 循环来打印帕斯卡三角形的值。这里我们将上面一行的两个数字相加,得到下面一行的数字。

步骤 8 − 调用函数并将总行数作为参数传递。

步骤 9 − 打印输出。

示例 1

以下程序演示如何打印帕斯卡三角形

import Swift
import Foundation

func createPascalTriangle(row: Int)
{
    var res = [[Int]]()
    if (row == 0)
    {
        return
    }
    for x in 0..<row
    {
        var Cres = [Int]()
        for _ in 0..<(row-x-1)
        {
            print(" ", terminator:"")
        }
        for y in 0...x
        {
            if(x>1 && y>0 && y<x)
            {
                let val = res[x-1][y] + res[x-1][y-1]
                Cres.append(val)
                print("\(val) ", terminator: "")
            } else {
                Cres.append(1)
                print("\(1) ", terminator: "")
            }
        }
        res.append(Cres)
        print("")
    }
}
var num = 5
createPascalTriangle(row:num)

输出

    1 

   1 1 

  1 2 1 

 1 3 3 1 

1 4 6 4 1 

在上面的代码中,我们显示了三角形图案中帕斯卡三角形的值。为了找到帕斯卡三角形的值,我们将上面一行的两个数字相加,得到下面一行的数字,代码如下:

for y in 0...x{
   if(x>1 && y>0 && y<x){
      let val = res[x-1][y] + res[x-1][y-1]
      Cres.append(val)
      print("\(val) ", terminator: "")
   } else {
      Cres.append(1)
      print("\(1) ", terminator: "")
   }

示例 2

以下程序显示如何在一行中打印帕斯卡三角形

import Swift
import Foundation
func createPascalTriangle(row: Int)->[[Int]]{
   var res = [[Int]]()
   if (row == 0){
      return res
   }
   for x in 0..<row{
      var Cres = [Int]()
      for y in 0...x{
      if(x>1 && y>0 && y<x){
         let val = res[x-1][y] + res[x-1][y-1]
            Cres.append(val)
         } else {
            Cres.append(1)
         }
      }
      res.append(Cres)
   }
   return res
}
var num = 5
print(createPascalTriangle(row:num))

输出

[[1], [1, 1], [1, 2, 1], [1, 3, 3, 1], [1, 4, 6, 4, 1]]

在上面的代码中,我们显示了数组中帕斯卡三角形的值。



相关文章



关于我们 | 隐私条款 | 学习路线
返回顶部