diff --git "a/homework/week2/Go12008\345\220\264\346\266\233/main.go" "b/homework/week2/Go12008\345\220\264\346\266\233/main.go" new file mode 100644 index 0000000000000000000000000000000000000000..ba526f841e4b7f4afdb92bd4cd01de3eb31a5e45 --- /dev/null +++ "b/homework/week2/Go12008\345\220\264\346\266\233/main.go" @@ -0,0 +1,60 @@ +package main + +import ( + "fmt" + "math/rand" + "time" +) + +func main() { + // 1、打印九九乘法表。如果可以要求间隔均匀 + // j=1 i=1 j*i=1*1=1 + // j=1 i=2 j*i=1*2=2 j=2 i=2 j*i=2*2=4 + // ...... + // j=1 i=9 j*i=1*9=9 j=2 i=9 j*i=2*9=18 j=3 i=9 j*i=3*9=27 ...... j=9 i=9 j*i=9*9=81 + fmt.Println("=======================九九乘法表=====================") + for i := 1; i < 10; i++ { + for j := 1; j <= i; j++ { + fmt.Printf("%d*%d=%-2d ", j, i, j*i) + } + fmt.Println() + } + fmt.Println("=======================随机数=====================") + // src := rand.NewSource(10) + // r10 := rand.New(src) + // r1 := rand.New(rand.NewSource(1)) + // for i := 0; i < 10; i++ { + // fmt.Printf("%d, %d, %d\n", rand.Intn(5), r1.Intn(5), r10.Intn(5)) + // } + // 2、随机生成20以内的20个非0正整数,打印出来。对生成的数值,第单数个(不是索引)累加求和, + // 第偶数个累乘求积。打印结果 + a := rand.New(rand.NewSource(time.Now().UnixNano())) + product := 1 + sum := 0 + for i := 1; i <= 20; i++ { + s := a.Intn(19) + 1 + fmt.Printf("第%d个随机数是%d\n", i, s) + if i%2 == 1 { + // 说明是第奇数个随机数 + sum = sum + s + } else { + product = product * s + } + } + fmt.Println("第单数个累加求和是", sum) + fmt.Println("第偶数个累乘求积是", product) + fmt.Println("=======================斐波那契数列=====================") + // 3、打印100以内的斐波那契数列 + // 斐波那契数列 1,1,2,3,5,8,13,...... + // f(n) = f(n-1) + f(n-2) + // 当前斐波那契数i,上个斐波那契数j + i, j := 1, 0 + fmt.Println(i) + for { + i, j = i+j, i + if i >= 100 { + break + } + fmt.Println(i) + } +}