Go语言经典实例

  1. 九九乘法表
    package main
    
    import "fmt"
    
    func main() {
    	for i := 1; i <= 9; i++ {
    		for j := 1; j <= i; j++ {
    			fmt.Printf("%d * %d = %d\t", j, i, j*i)
    		}
    		fmt.Println()
    	}
    }

     

  2. 求100~999内的水仙花数?(水仙花数也被称为超完全数字不变数、自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数,水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身。例如:1^3 + 5^3+ 3^3 = 153)
    package main
    
    import (
    	"fmt"
    	"math"
    )
    
    func main() {
    	for num := 100; num <= 999; num++ {
    		var i = num / 100	//百位
    		var j = num / 10 % 10	//十位
    		var k = num % 10	//个位
    		if math.Pow(float64(i), 3)+math.Pow(float64(j), 3)+math.Pow(float64(k), 3) == float64(num) {
    			fmt.Println(num)
    		}
    	}
    }
    

     

  3. 百钱百鸡? (我国古代数学家张丘建在《算经》一书中提出的数学问题:鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?)
    package main
    
    import (
    	"fmt"
    )
    
    func main() {
    	//共买100只,所以cock(鸡翁)最多20只,hen(鸡母)最多33只,chicken(鸡雏)最多100只
    	for cock := 0; cock < 20; cock++ {
    		for hen := 0; hen < 33; hen++ {
    			for chicken := 0; chicken <= 100; chicken += 3 {
    				if (5*cock+3*hen+chicken/3 == 100 && cock+hen+chicken == 100) {
    					fmt.Printf("鸡翁%d只,鸡母%d只,小鸡%d只\n", cock, hen, chicken)
    				}
    			}
    		}
    	}
    }

     

  4. 打印等腰三角形
    package main
    
    import "fmt"
    
    func main() {
    	var line int = 10 //行数
    	for i := 0; i < line; i++ {
    		for j := 0; j < line-i-1; j++ {
    			fmt.Print(" ")
    		}
    		for k := 0; k < i*2+1; k++ {
    			fmt.Print("*")
    		}
    		fmt.Println()
    	}
    }

     

  5. 斐波那契数列(Fibonacci sequence),又称黄金分割数列、指的是这样一个数列:1、1、2、3、5、8、13、21、34、……在数学上,斐波纳契数列以如下被以递推的方法定义:F(1)=1,F(2)=1, F(n)=F(n-1)+F(n-2)(n>=3,n∈N*)
    package main
    
    import "fmt"
    
    const NUM = 10 //多少位
    
    func fibonacci(n int) int {
    	if n < 2 {
    		return n
    	}
    	return fibonacci(n-2) + fibonacci(n-1)
    }
    
    func main() {
    	var i int
    	for i = 0; i < NUM; i++ {
    		fmt.Printf("%d\t", fibonacci(i))
    	}
    }

     

  6. 阶乘。一个正整数的阶乘(factorial)是所有小于及等于该数的正整数的积,并且0的阶乘为1。自然数n的阶乘写作n!
    package main
    
    import "fmt"
    
    func Factorial(n uint64) (result uint64) {
    	if (n > 0) {
    		result = n * Factorial(n-1)
    		return result
    	}
    	return 1
    }
    
    func main() {
    	var i int = 5
    	fmt.Printf("%d 的阶乘是 %d\n", i, Factorial(uint64(i)))
    }

     

  7. 统计输入字符个数
    package main
    
    import "fmt"
    
    func main() {
    	var str string
    	fmt.Scan(&str)
    	slice := []byte(str)
    	m := make(map[byte]int)
    	for i := 0; i < len(slice); i++ {
    		m[slice[i]]++
    	}
    	for k, v := range m {
    		fmt.Printf("%c:%d\n", k, v)
    	}
    }

     

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值