如何在Swift中打印Pascal三角形

本文概述

  • 直接在控制台中打印
  • 检索数组中的三角形数据
在数学中, 帕斯卡的三角形是数字的三角形排列, 它给出任何二项式表达式(例如(x + y)n)的展开式的系数。它以17世纪法国数学家Blaise Pascal的名字命名。对于那些不熟悉二项式表达式的人来说, 一个更简单的解释是, 帕斯卡三角形是一个永无休止的数字等边三角形, 遵循将上面两个数字相加得到下面数字的规则。
在本文中, 我们将向你展示如何使用Swift编程语言在控制台中生成这个著名的三角形。
直接在控制台中打印 图形上, 如上所述, 建立帕斯卡三角形的方法非常简单, 要得到下面的数字, 你需要在上面加上两个数字, 依此类推:
如何在Swift中打印Pascal三角形

文章图片
以下代码将生成帕斯卡的三角形:
// Function that generates the pascals triangle with a specific number of rowsfunc generatePascalTriangle(numRows: Int){var results = [[Int]]()if (numRows == 0) {return}for i in 0..< numRows {var currentResults = [Int]()// Print spacesfor _ in 0..< (numRows - i - 1) {print(" ", terminator:"")}// Print valuesfor j in 0...i {if (i > 1 & & j > 0 & & j < i) {let value = http://www.srcmini.com/results[i-1][j] + results[i-1][j-1]currentResults.append(value)print("\(value) ", terminator: "")} else {currentResults.append(1)print("\(1) ", terminator: "")}}results.append(currentResults)print("\n")}}// Prompt the user for the number of rows through the console e.g "10"print("Insert the number of rows for the triangle:")let numberOfRows:Int? = Int(readLine()!)// Print the pascals triangle in the console with the given number of rowsgeneratePascalTriangle(numRows: numberOfRows!)// Or force the value directly:// generatePascalTriangle(numRows: 10)

前面代码的执行将在控制台中生成以下输出:
如何在Swift中打印Pascal三角形

文章图片
检索数组中的三角形数据 如果不是在控制台中仅打印三角形, 而是可以检索逻辑生成的数据并在以后以其他方式呈现它:
// Function that generates the pascals triangle with a specific number of rowsfunc generate(numRows: Int) -> [[Int]] {var results = [[Int]]()if (numRows == 0) {return results}for i in 0..< numRows {var currentResults = [Int]()for j in 0...i {if (i > 1 & & j > 0 & & j < i) {let value = http://www.srcmini.com/results[i-1][j] + results[i-1][j-1]currentResults.append(value)} else {currentResults.append(1)}}results.append(currentResults)}return results}let triangleContent = generate(numRows: 10)print(triangleContent)

先前的代码将生成以下输出:
如何在Swift中打印Pascal三角形

文章图片
请记住, 你可以遍历函数的结果, 例如:
let triangleContent = generate(numRows: 10)for i in 0..< triangleContent.count {let row = triangleContent[i]for i in 0..< row.count {let value = http://www.srcmini.com/row[i]print("\(value) ", terminator:"")}print("\n")}

上一个代码片段将生成以下输出:
如何在Swift中打印Pascal三角形

文章图片
【如何在Swift中打印Pascal三角形】编码愉快!

    推荐阅读