【笔记】7个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() {
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(mapint)
for i := 0; i < len(slice); i++ {
m]++
}
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)
}
}
}
}
}
``` 有点看不懂 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
地鼠yes {:301_988:} 这些不都是教程上要的代码吗。。。。。学的时候感觉有些难度啊 感谢分享 课本代码? 这啥意思? 听得黑马的教程感觉都有 不错不错 其它的我都看都了,%d、%c是什么
页:
[1]
2