Go核心开发学习笔记(十一) —— 金字塔,菱形,水仙花数,三个数排大小

由于金字塔类型问题很经典,单独开了一章处理正三角倒三角菱形等

  1. 案例:打印各种类型金字塔
    package main
    
    import "fmt"
    
    func main() {
    	/*
    	需求:打印各种金字塔
    	    *
    	   * *
    	  *   *
    	 *     *
    	* * * * *
    	或者
    	    *
    	   ***
    	  *****
    	 *******
    	*********
    	或者
    	   *
    	  * *
    	 * * *
    	* * * *
    
    	需求分析:
    	应该是利用变量和数学算法打印多少个空格和几个*,
    	 */
    
    	var level int
    	fmt.Println("请输入圣诞树的层数: ")
    	fmt.Scanf("%d",&level)
    
    	//等边三角形金字塔
    	for i := 1 ; i <= level ; i++ {             //level作为传入值,由使用者决定
    		/*
    			分析下:
    			i = 1 , j = 0 , k = 1(* )
    			i = 2 , j = 1 and 0, k = 2(* )
    			i = 3 , j = 2 and 1 and 0 , k = 3(* )
    			所以就推出,层数是外循环,空格数和*数是内循环
    			根据通项公式: j循环 => j < i 即可; k循环 => k = 2i - 1
    		*/
    		for j := 1 ; j <= level - i ; j++ {
    			fmt.Print(" ")
    
    		}
    		for k := 1 ; k <= i ; k++ {
    			fmt.Print("*")
    			
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值