水仙花数代码
时间: 2023-07-02 07:15:09 浏览: 48
水仙花数是指一个 3 位数,它的每个位上的数字的立方和等于它本身。例如,371 是一个水仙花数,因为 3^3 + 7^3 + 1^3 = 371。
下面是一个 Python 代码,用来检查一个数是否是水仙花数:
```
def is_narcissistic(number):
# 将数字转换为字符串
number_str = str(number)
# 计算每个数字的立方和
sum = 0
for ch in number_str:
sum += int(ch) ** 3
# 如果立方和等于原数,则是水仙花数
return sum == number
# 检查数字 371 是否是水仙花数
print(is_narcissistic(371)) # 输出: True
# 检查数字 123 是否是水仙花数
print(is_narcissistic(123)) # 输出: False
```
希望这个代码能帮到你。
相关问题
java水仙花数代码
以下是Java实现水仙花数的代码:
```java
public class NarcissisticNumber {
public static void main(String[] args) {
for(int i = 100; i < 1000; i++) {
int hundreds = i / 100; // 获取百位数
int tens = (i - hundreds * 100) / 10; // 获取十位数
int ones = i % 10; // 获取个位数
if(i == hundreds * hundreds * hundreds + tens * tens * tens + ones * ones * ones) {
System.out.println(i + "是水仙花数");
}
}
}
}
```
代码中,我们利用了循环遍历100到999之间的所有三位数,然后分别获取它们的百位数、十位数和个位数,再根据水仙花数的定义判断是否为水仙花数,最后输出结果。
解析水仙花数代码
水仙花数是指一个n位数( n>=3 ),它的每个位上的数字的n次幂之和等于它本身。例如:1^3 + 5^3 + 3^3 = 153。
以下是求解水仙花数的 Python 代码:
```python
for num in range(100, 1000):
# 将数字按位拆分
digit1 = num // 100
digit2 = (num // 10) % 10
digit3 = num % 10
# 判断是否是水仙花数
if num == digit1 ** 3 + digit2 ** 3 + digit3 ** 3:
print(num)
```
首先,我们使用 `range` 函数生成所有三位数的数字,然后通过 `//` 和 `%` 运算符将数字按位拆分,依次得到百位、十位和个位上的数字。接着,我们用这些数字计算它们的立方和,并将结果与原数字进行比较,如果相等,则说明这是一个水仙花数,将其输出即可。