Go语言:打印杨辉三角

杨辉三角的样式如下:

                
         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,而其它元素等于它上方“肩膀”上的两个元素之和。

使用Go语言打印杨辉三角:

package test

import (
	"fmt"
)

//行数
const LINES int = 8

//杨辉三角
func ShowYangHuiTriangle() {
	nums := []int{}
	for i := 0; i < LINES; i++ {
		//补空白
		for j := 0; j < (LINES - i); j++ {
			fmt.Print("  ")
		}

		for j := 0; j < (i + 1); j++ {
			//当前数组长度
			var length = len(nums)
			//本位置应该生成的数字
			var value int

			//每行第一个元素和最后一个元素是1,中间的元素等于它上方的两个元素之和
			if j == 0 || j == i {
				value = 1
			} else {
				value = nums[length-i] + nums[length-i-1]
			}
			nums = append(nums, value)
			fmt.Print(value, " ")
		}
		//换行
		fmt.Println("")
	}
}


  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值