go语言 实现水仙花数
时间: 2024-07-20 10:01:30 浏览: 45
Go语言中实现水仙花数(也叫 narcissistic number 或 pluperfect digital invariant),是指一个三位数(或更长,但这里我们只看三位数的情况),其各位数字立方之和等于它自身。例如,153 就是一个水仙花数,因为 1^3 + 5^3 + 3^3 = 153。
下面是一个简单的Go函数来检查一个整数是否是水仙花数:
```go
package main
import (
"fmt"
)
func isNarcissistic(num int) bool {
str := fmt.Sprintf("%d", num)
length := len(str)
if length != 3 {
return false
}
sum := 0
for _, digit := range str {
digitValue, _ := strconv.Atoi(string(digit))
sum += digitValue * digitValue * digitValue
}
return sum == num
}
func main() {
nums := []int{153, 370, 371, 407} // 测试数组
for _, n := range nums {
if isNarcissistic(n) {
fmt.Printf("%d 是水仙花数\n", n)
} else {
fmt.Printf("%d 不是水仙花数\n", n)
}
}
相关问题
用java语言实现遍历水仙花数
/**
* 遍历水仙花数
*/
public class NarcissisticNumber {
public static void main(String[] args) {
for (int i = 100; i < 1000; i++) {
int a = i / 100; // 获取百位数
int b = i % 100 / 10; // 获取十位数
int c = i % 10; // 获取个位数
if (i == a * a * a + b * b * b + c * c * c) {
System.out.println(i);
}
}
}
}
打印所有水仙花数用go语言
以下是使用 Go 语言打印所有水仙花数的示例代码:
```
package main
import (
"fmt"
"math"
)
func main() {
for i := 100; i <= 999; i++ {
sum := 0
num := i
for num > 0 {
digit := num % 10
sum += int(math.Pow(float64(digit), 3))
num /= 10
}
if sum == i {
fmt.Println(i)
}
}
}
```
代码中,我们使用了两个 for 循环。外层循环从 100 开始,到 999 结束,遍历了所有 3 位数。内层循环用来计算当前数的每位数字的立方和。如果该立方和等于当前数,即为水仙花数,打印输出即可。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![cbp](https://img-home.csdnimg.cn/images/20210720083646.png)
![-](https://img-home.csdnimg.cn/images/20210720083327.png)
![-](https://img-home.csdnimg.cn/images/20210720083327.png)
![-](https://img-home.csdnimg.cn/images/20210720083327.png)
![-](https://img-home.csdnimg.cn/images/20210720083327.png)
![-](https://img-home.csdnimg.cn/images/20210720083327.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)