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

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

【基础入门题】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)
}



执行结果:

7   14 17 21 27

28 35 37 42 47

49 56 57 63 67

70 71 72 73 74

75 76 77 78 79

84 87 91 97 98

满足条件的数共有30个。

目录
相关文章
|
Go
golang力扣leetcode 954.二倍数对数组
golang力扣leetcode 954.二倍数对数组
135 0
|
Go
golang力扣leetcode 357.统计各位数字都不同的数字个数
golang力扣leetcode 357.统计各位数字都不同的数字个数
175 0
|
Go
golang力扣leetcode 2044.统计按位或能得到最大值的子集数目
golang力扣leetcode 2044.统计按位或能得到最大值的子集数目
131 0
|
Go
golang力扣leetcode 2049.统计最高分的节点数目
golang力扣leetcode 2049.统计最高分的节点数目
153 0
|
存储 测试技术 Go
【Go语言入门100题】003 个位数统计 (15 分) Go语言|Golang
L1-003 个位数统计 (15 分) Go语言|Golang 输入格式: 每个输入包含 1 个测试用例,即一个不超过 1000 位的正整数 N。 输出格式: 对 N中每一种不同的个位数字,以 D:M 的格式在一行中输出该位数字 D及其在N中出现的次数M。要求按D 的升序输出。 输入样例:
207 0
【Go语言入门100题】003 个位数统计 (15 分) Go语言|Golang
golang 之 defer(统计函数执行时间)
1 package main 2 3 import ( 4 "fmt" 5 "time" 6 ) 7 8 func sum(a ...int) int { 9 defer trace("sum")() // note:不要忘记defe...
1579 0
|
2月前
|
存储 安全 Java
【Golang】(4)Go里面的指针如何?函数与方法怎么不一样?带你了解Go不同于其他高级语言的语法
结构体可以存储一组不同类型的数据,是一种符合类型。Go抛弃了类与继承,同时也抛弃了构造方法,刻意弱化了面向对象的功能,Go并非是一个传统OOP的语言,但是Go依旧有着OOP的影子,通过结构体和方法也可以模拟出一个类。
228 1
|
Go
Golang语言之管道channel快速入门篇
这篇文章是关于Go语言中管道(channel)的快速入门教程,涵盖了管道的基本使用、有缓冲和无缓冲管道的区别、管道的关闭、遍历、协程和管道的协同工作、单向通道的使用以及select多路复用的详细案例和解释。
671 4
Golang语言之管道channel快速入门篇
|
Go
Golang语言文件操作快速入门篇
这篇文章是关于Go语言文件操作快速入门的教程,涵盖了文件的读取、写入、复制操作以及使用标准库中的ioutil、bufio、os等包进行文件操作的详细案例。
270 4
Golang语言文件操作快速入门篇
|
Go
Golang语言之gRPC程序设计示例
这篇文章是关于Golang语言使用gRPC进行程序设计的详细教程,涵盖了RPC协议的介绍、gRPC环境的搭建、Protocol Buffers的使用、gRPC服务的编写和通信示例。
570 3
Golang语言之gRPC程序设计示例