Golang 打印右侧帕斯卡三角形

Golang 打印右侧帕斯卡三角形

帕斯卡三角形是一种以二项式系数以三角形形式排列的三角形。在这里,三角形以1开头,并且每行的开头和结尾数字都是1。在本文中,我们将编写Golang程序以打印右侧帕斯卡三角形。

示范

本示范解释了右侧帕斯卡三角形,其中每一行显示了二项式展开式的系数,其底数为(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 − 使用一个外部for循环,使用变量I迭代行,并在循环中将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循环来打印三角形,在第二个示例中,我们使用了两个循环在外层循环中考虑了一个数组作为一行。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程