定义一个函数isppdi判断给定的数是否为水仙花数(水仙花数是一个三位数且该数等于各位上的数字立方之和。注意如果不是三位数则认为不是水仙花数,例如1),主函数中调用自定义函数。
时间: 2023-05-03 19:02:14 浏览: 263
该题目要求定义一个函数isppdi,用于判断给定的数是否为水仙花数(水仙花数是一个三位数,该数等于其各位上的数字立方和等于该数本身),注意如果不是三位数则认为不是水仙花数,例如:1),主函数中调用自定义函数。
相关问题
编写一个函数判断给定的整数是否为水仙花数
水仙花数是指一个n位正整数(n≥3)等于其各位数字的n次方之和。例如,153是一个水仙花数,因为153=1^3+5^3+3^3。
以下是Python代码实现:
```python
def is_narcissistic_number(num):
# 将整数转换为字符串
str_num = str(num)
# 获取整数的位数
n = len(str_num)
# 计算各位数字的n次方之和
sum = 0
for digit in str_num:
sum += int(digit) ** n
# 判断是否为水仙花数
if sum == num:
return True
else:
return False
```
使用示例:
```python
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(1634)) # True
print(is_narcissistic_number(8208)) # True
print(is_narcissistic_number(9474)) # True
print(is_narcissistic_number(9475)) # False
```
用C语言编写一个函数判断给定的整数是否为水仙花数
#include <stdio.h>
int isNarcissisticNumber(int num);
int main() {
int num;
printf("请输入一个整数:");
scanf("%d", &num);
if(isNarcissisticNumber(num)) {
printf("%d是水仙花数\n", num);
} else {
printf("%d不是水仙花数\n", num);
}
return 0;
}
int isNarcissisticNumber(int num) {
int sum = 0, temp = num, digit;
while(temp != 0) {
digit = temp % 10;
sum += digit * digit * digit;
temp /= 10;
}
return (sum == num);
}