吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 3612|回复: 11
收起左侧

[其他转载] 【笔记】7个GO语言经典实例

  [复制链接]
sevfox 发表于 2020-4-20 21:07

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() {
    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()
    }
}

4.斐波那契数列(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))
    }
}

5.阶乘。一个正整数的阶乘(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)))
}

6.统计输入字符个数

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)
    }
}

7.百钱百鸡? (我国古代数学家张丘建在《算经》一书中提出的数学问题:鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?)

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)
                }
            }
        }
    }
}

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

cry323 发表于 2020-4-20 22:11
有点看不懂
 楼主| sevfox 发表于 2020-4-24 17:20
Ah.Dragon 发表于 2020-4-22 15:12
其它的我都看都了,%d、%c是什么

%c输出单个字符
%d输出十进制整数
%f输出十进制浮点数
%o输出八进制数
%s输出字符串
%u输出无符号十进制数
%x输出十六进制数。
这是printf格式化输出的占位符
可以参考https://blog.csdn.net/qq_34777600/article/details/81266453
初音ミク 发表于 2020-4-20 21:37
aj2002214 发表于 2020-4-20 21:44
这些不都是教程上要的代码吗。。。。。学的时候感觉有些难度啊
斩风 发表于 2020-4-20 21:49
感谢分享
彭哥列第十代 发表于 2020-4-20 22:19
课本代码?
陆小果emotion 发表于 2020-4-20 22:34
这啥意思?
KID丶 发表于 2020-4-20 23:08
听得黑马的教程  感觉都有   不错不错
Ah.Dragon 发表于 2020-4-22 15:12
其它的我都看都了,%d、%c是什么
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-26 03:36

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表