判断给定整数是否为水仙花数,是则返回1,否则返回0。
时间: 2024-03-02 09:48:17 浏览: 19
好的,这是一个简单的编程问题。水仙花数是指一个n位正整数(n >= 3),它的每个位上的数字的n次幂之和等于它本身。
以下是一个示例代码实现:
```python
def is_narcissistic_number(num):
# 获取num的位数
num_str = str(num)
n = len(num_str)
# 求每个位上的数字的n次幂之和
sum = 0
for c in num_str:
sum += int(c) ** n
# 判断是否为水仙花数
if sum == num:
return 1
else:
return 0
```
你可以将这段代码复制粘贴到你的编程环境中运行,也可以根据需要进行修改和优化。
相关问题
c++判断给定整数是否为水仙花数,是则返回1,否则返回0。
好的,以下是一个C++实现的示例代码:
```c++
#include <iostream>
#include <cmath>
using namespace std;
int is_narcissistic_number(int num) {
// 获取num的位数
int n = 0, temp = num;
while (temp > 0) {
n++;
temp /= 10;
}
// 求每个位上的数字的n次幂之和
int sum = 0, digit;
temp = num;
while (temp > 0) {
digit = temp % 10;
sum += pow(digit, n);
temp /= 10;
}
// 判断是否为水仙花数
if (sum == num) {
return 1;
}
else {
return 0;
}
}
int main() {
int num;
cout << "请输入一个整数:";
cin >> num;
if (is_narcissistic_number(num)) {
cout << num << " 是水仙花数" << endl;
}
else {
cout << num << " 不是水仙花数" << endl;
}
return 0;
}
```
你可以将这段代码复制粘贴到你的编程环境中运行,也可以根据需要进行修改和优化。
python函数,该函数用来判断某个整数是否为水仙花数,是水仙花数则函数返回true
水仙花数是指一个n位正整数,其各位数字的n次方之和等于该数本身。例如,3位水仙花数有153,370,371和407。现在我们来编写一个函数来判断一个给定的整数是否为水仙花数。
我们可以利用Python的算术运算符和控制结构来实现这个函数。下面是代码示例:
```python
def is_narcissistic_number(num):
# 将整数转换为字符串,以便操作每一位数字
str_num = str(num)
# 获取数字的位数
n = len(str_num)
# 初始化和为0
total = 0
# 遍历每一位数字,计算其n次方之和
for digit in str_num:
total += int(digit) ** n
# 判断计算结果是否等于原数,如果相等则为水仙花数,返回True,否则返回False
if total == num:
return True
else:
return False
# 测试例子
print(is_narcissistic_number(153)) # True
print(is_narcissistic_number(370)) # True
print(is_narcissistic_number(371)) # True
print(is_narcissistic_number(407)) # True
print(is_narcissistic_number(123)) # False
print(is_narcissistic_number(1634)) # True
print(is_narcissistic_number(9474)) # True
```
以上就是一个用来判断某个整数是否为水仙花数的Python函数的实现。通过将整数转换为字符串,我们可以逐位进行计算,并判断最终的和是否等于原数,从而确定结果。