Golang 001. 统计7的倍数或包含7的数字

x33g5p2x  于2021-11-30 转载在 Go  
字(0.9k)|赞(0)|评价(0)|浏览(268)

【基础入门题】Golang 001. 统计7的倍数或包含7的数字

求100以内的正整数是7的倍数或包含7的数字并统计总个数。

**思路:**判断是否7的倍数非常容易,所以主要看数字是否包含7。

方法一:取得各位上的数字,只要有一个是7即满足条件

package main

import "fmt"

func Contain7(number int) bool {
	result := false
	for i, j := 0, 1; i < 3; i++ { //100以内,只要循环3只
		if number/j%10 == 7 {
			result = true
			break
		}
		j *= 10
	}
	return result
}

func main() {

	number := 1
	count := 0

	for number <= 100 {
		if number%7 == 0 || Contain7(number) {
			fmt.Print(number)
			if count%5 == 4 {
				fmt.Println()
			} else {
				fmt.Print("\t")
			}
			count++
		}
		number++

	}

	fmt.Printf("\n满足条件的数共有%d个。", count)

}

方法二:转成字符串看是否包括“7”,需要用到strings.Contains()和strconv.Itoa()。

package main

import (
	"fmt"
	"strconv"
	"strings"
)

func main() {

	number := 1
	count := 0

	for number <= 100 {
		if number%7 == 0 || strings.Contains(strconv.Itoa(number), "7") {
			fmt.Print(number)
			if count%5 == 4 {
				fmt.Println()
			} else {
				fmt.Print("\t")
			}
			count++
		}
		number++

	}

	fmt.Printf("\n满足条件的数共有%d个。", count)

}

执行结果:

欢迎加入CSDN社区!

https://bbs.csdn.net/forums/PythonTogether 

相关文章

微信公众号

最新文章

更多