访问量: 9 次浏览
在这篇Golang文章中,我们将学习如何通过递归和迭代方法打印左半Pascal三角形。Pascal三角形是一个二项式系数的三角形数组。左半Pascal三角形是Pascal三角形的一种变形,是通过将Pascal三角形沿着垂直轴反射得到的。
func leftPascal(n, k int) int {…}
leftPascal() 函数用于打印左半Pascal三角形。它有两个参数作为输入。
func leftPascal(n int){…}
leftPascal() 函数用于打印左半Pascal三角形。它有一个参数,即行数作为输入。
在这个例子中,我们将使用迭代方法定义 leftPascal()函数,用于打印左半 Pascal 三角形。
package main
import "fmt"
func main() {
rows := 5
fmt.Printf("左半Pascal三角形结果:\n")
for i := 0; i < rows; i++ {
for j := 0; j <= i; j++ {
fmt.Printf("%d ", leftPascal(i, j))
}
fmt.Println()
}
}
func leftPascal(n, k int) int {
if k == 0 || k == n {
return 1
} else {
return leftPascal(n-1, k-1) + leftPascal(n-1, k)
}
}
左半Pascal三角形结果:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
在这个例子中,我们将使用递归方法定义 leftPascal() 函数,用于打印左半Pascal三角形。
package main
import "fmt"
func pascalValue(n, k int) int {
if k == 0 || k == n {
return 1
}
return pascalValue(n-1, k-1) + pascalValue(n-1, k)
}
func leftPascal(n int) {
for i := 0; i < n; i++ {
for j := 0; j <= i; j++ {
fmt.Print(pascalValue(i, j), "")
}
fmt.Println()
}
}
func main() {
fmt.Printf("左半Pascal三角形结果:\n")
leftPascal(5)
}
左半Pascal三角形结果:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
我们已经成功编译并执行了一个Go语言程序,使用递归和迭代方法打印左帕斯卡三角形,并提供了两个示例。在第一个示例中,我们使用了迭代方法,在第二个示例中,我们使用了递归方法。