Golang 007. 求所有三位的水仙花数
Golang 所有 007 水仙花 三位
2023-09-14 09:01:29 时间
【基础入门题】Golang 007. 求所有三位的水仙花数
水仙花数定义:指一个正整数的各位数字的立方和等于其本身。
求出所有三位的水仙花数,即在范围(100,1000)内的水仙花数。
————————————————————————————
方法一:
package main
import "fmt"
func CubicSum(n int) int {
i := 0
for n/10 > 0 {
j := n % 10
i += j * j * j
n /= 10
}
return i + n*n*n
}
func main() {
count := 0
for i := 100; i < 1000; i++ {
if CubicSum(i) == i {
fmt.Println(i)
count++
}
}
fmt.Printf("三位的水仙花数共有:%d个。\n", count)
}
方法二:
package main
import "fmt"
func isNarcissus(n int) bool {
i, j := 0, n
for j/10 > 0 {
k := j % 10
i += k * k * k
j /= 10
}
return i+j*j*j == n
}
func main() {
count := 0
for i := 100; i < 1000; i++ {
if isNarcissus(i) {
fmt.Println(i)
count++
}
}
fmt.Printf("三位的水仙花数共有:%d个。\n", count)
}
运行结果:
153
370
371
407
三位的水仙花数共有:4个。
欢迎加入CSDN社区! https://bbs.csdn.net/forums/PythonTogether
相关文章
- golang中time包的使用
- 想涨工资吗?那就学习Scala,Golang或Python吧
- Golang 035. 统计字符数
- golang文件的写入、追加、读取、复制操作:bufio包的使用示例
- golang操作gitlab API:获取某个group下的所有仓库并写入文件 && 解决gitpab限制单次查询100条的限制
- golang float浮点型精度丢失问题解决办法:使用decimal包;float与int的相互转换
- golang设置运行CPU数量及sync.Mutex全局互斥锁的使用示例
- Go语言自学系列 | golang接口嵌套
- Go语言自学系列 | golang方法
- Golang gRPC实践 连载三 Protobuf语法
- Golang gRPC实践 连载七 HTTP协议转换
- Golang 单例模式 singleton pattern
- Golang struct 使用工厂方法创建结构体实例