函数调用判断水仙花数
时间: 2023-12-23 22:03:17 浏览: 45
以下是两种判断水仙花数的方法:
1. C语言实现:
```c
#include <stdio.h>
#include <math.h>
int isdaff(int n) {
int a, b, c;
a = n % 10;
b = n % 100 / 10;
c = n / 100;
if (pow(a, 3) + pow(b, 3) + pow(c, 3) == n)
return 1;
else
return 0;
}
int main() {
int n;
for (n = 100; n <= 999; n++) {
if (isdaff(n) == 1)
printf("%d\n", n);
}
return 0;
}
```
2. Python实现:
```python
def is_daff(n):
a = n % 10
b = n % 100 // 10
c = n // 100
if pow(a, 3) + pow(b, 3) + pow(c, 3) == n:
return True
else:
return False
for n in range(100, 1000):
if is_daff(n):
print(n)
```
相关问题
调用函数fun判断水仙花数
以下是Python代码实现:
```python
def fun(n):
s = 0
t = n
while t > 0:
s += (t % 10) ** 3
t //= 10
return s == n
for i in range(100, 1000):
if fun(i):
print(i, end=' ')
```
输出结果为:
```
153 370 371 407
```
其中153、370、371和407都是水仙花数。
调用函数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`函数判断它是否为水仙花数,并输出结果。