调用函数判断是否为水仙花数
时间: 2023-08-31 16:12:22 浏览: 37
好的,以下是一个判断一个数是否为水仙花数的 Python 函数:
```python
def isArmstrongNumber(num):
power = len(str(num))
sum = 0
temp = num
while temp > 0:
digit = temp % 10
sum += digit ** power
temp //= 10
if num == sum:
return True
else:
return False
```
使用方法:
```python
num = 153
if isArmstrongNumber(num):
print("{} is an Armstrong number".format(num))
else:
print("{} is not an Armstrong number".format(num))
```
输出结果:
```
153 is an Armstrong number
```
相关问题
调用fun函数判断水仙花数
好的,我理解了你的问题。下面是一个简单的 Python 代码,可以判断一个三位数是否为水仙花数。
```python
def fun(num):
# 将数位拆分
a = num // 100
b = num // 10 % 10
c = num % 10
# 判断是否为水仙花数
if num == a**3 + b**3 + c**3:
return True
else:
return False
```
调用该函数,传入一个三位数参数,即可判断该数是否为水仙花数。例如,如果要判断153是否为水仙花数,可以这样调用:
```python
print(fun(153)) # True
```
希望这个代码对你有帮助。
调用函数fun判断水仙花数C语言
以下是一个示例程序,使用函数fun判断一个数是否为水仙花数。
```c
#include <stdio.h>
#include <math.h>
int fun(int num) {
int digit, sum = 0, temp = num;
int n = (int)log10(num) + 1; // 求出num的位数
while (temp > 0) {
digit = temp % 10; // 取出个位数字
sum += pow(digit, n); // 每位数字的n次方之和
temp /= 10; // 去掉个位数字
}
if (sum == num) {
return 1; // 是水仙花数
} else {
return 0; // 不是水仙花数
}
}
int main() {
int num;
printf("请输入一个三位数:");
scanf("%d", &num);
if (fun(num)) {
printf("%d 是水仙花数。\n", num);
} else {
printf("%d 不是水仙花数。\n", num);
}
return 0;
}
```
程序中的函数`fun`接受一个整数作为参数,判断该数是否为水仙花数。如果是,返回1;否则返回0。在主函数中,从用户输入中读取一个三位数,调用`fun`函数判断它是否为水仙花数,并输出结果。