Go语言程序打印右侧帕斯卡三角形
帕斯卡三角形是一种以三角形形式排列二项式系数的三角形。这里,三角形以1开头,每一行开头和结尾的数字都是1。在本文中,我们将编写Go语言程序来打印右侧帕斯卡三角形。
演示
此演示解释了右侧帕斯卡三角形,其中每一行显示(a+b)^n的幂的二项式展开式的系数,其中a和b =1。第一行只有一个1,第二行有1和1,第三行有1、2和1,依此类推。
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 − 在程序中导入fmt和main包,其中fmt有助于输入和输出的格式化,而main确保程序应该是一个可执行程序
步骤2 − 创建一个main函数,并在该函数中创建一个简写变量row并为其赋值8,这意味着直角三角形将由8行组成
步骤3 − 使用一个使用I变量迭代到行的外部for循环,并在循环中将val赋值为1
步骤4 − 使用一个内部循环,其中j变量小于或等于i变量。在循环中打印val并在每次内部迭代中更新它
步骤5 − 在内部迭代之后,使用Println函数,该函数用于向三角形添加新行
步骤6 − 最后,直角三角形将打印到控制台
示例1
在此示例中,使用两个嵌套的for循环来打印右侧帕斯卡三角形。在外部for循环中,val将设置为一个稍后在内部循环中更新的值。这样,输出将打印到控制台。
package main
import "fmt"
func main() {
rows := 8
for i := 0; i< rows; i++ {
val := 1
for j := 0; j <= i; j++ {
fmt.Printf("%d ", val)
val = val * (i - j) / (j + 1)
}
fmt.Println()
}
}
输出
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
示例2
在此示例中,将在外部for循环内使用两个循环。这里,特别是数组将用于存储使用第二个for循环计算的行计算出的元素。
package main
import "fmt"
//Main function to execute the program
func main() {
rows := 8
var array [8]int
for i := 0; i< rows; i++ {
array[0] = 1
for j := i; j > 0; j-- {
array[j] += array[j-1]
}
for l := i; l >= 0; l-- {
fmt.Print(array[l], " ")
}
fmt.Println()
}
}
输出
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
结论
我们已经成功编译并执行了打印右侧帕斯卡三角形的程序。在第一个示例中,我们使用两个嵌套的for循环来打印三角形,在第二个示例中,我们在外部循环内使用了两个循环,并将数组视为一行。
广告
数据结构
网络
关系型数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP