Golang 水仙花数与乘法表

话说每个程序员学习for循环都会完成以下的两个小项目,所以兴致勃勃的自己动手写了以下

  • 水仙花数
package main

import (
	"fmt"
	"math"
	"strconv"
	"time"
)

func main()  {
	//1000000以内的水仙花数
	starTime := time.Now()
	var i int
	for i = 1; i < 1000000; i++ {
		var num1 int = len(strconv.Itoa(i))
		var num2 int = len(strconv.Itoa(i))
		var s [20]int
		var sum = 0
		for j := 0; j < num1; j++ {
			s[j] = i / int(math.Pow10(num1-j-1)) % 10
			sum = sum + int(math.Pow(float64(s[j]), float64(num2)))
		}
		if sum == i {
			fmt.Println(i)
		}
	}
	takeTime := time.Since(starTime)
	fmt.Println("耗时:", takeTime)
}

水仙花数执行结果:

153
370
371
407
1634
8208
9474
54748
92727
93084
548834
耗时: 1.1019941s
  • 乘法表
    代码如下:
package main

import (
	"fmt"
)

func main()  {
    //乘法表
	var i int
	var j int
	for i = 1; i < 10; i++ {
		for j = 1; j <= i; j++ {
			s := i * j
			fmt.Printf("%d x %d = %d ", j, i, s)
		}
		println()
	}
}

执行结果如下:

1 x 1 = 1
1 x 2 = 2 2 x 2 = 4
1 x 3 = 3 2 x 3 = 6 3 x 3 = 9
1 x 4 = 4 2 x 4 = 8 3 x 4 = 12 4 x 4 = 16
1 x 5 = 5 2 x 5 = 10 3 x 5 = 15 4 x 5 = 20 5 x 5 = 25
1 x 6 = 6 2 x 6 = 12 3 x 6 = 18 4 x 6 = 24 5 x 6 = 30 6 x 6 = 36
1 x 7 = 7 2 x 7 = 14 3 x 7 = 21 4 x 7 = 28 5 x 7 = 35 6 x 7 = 42 7 x 7 = 49
1 x 8 = 8 2 x 8 = 16 3 x 8 = 24 4 x 8 = 32 5 x 8 = 40 6 x 8 = 48 7 x 8 = 56 8 x 8 = 64
1 x 9 = 9 2 x 9 = 18 3 x 9 = 27 4 x 9 = 36 5 x 9 = 45 6 x 9 = 54 7 x 9 = 63 8 x 9 = 72 9 x 9 = 81
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值