调用函数fun判断一个三位数是否水仙花数
时间: 2023-06-05 19:47:19 浏览: 138
水仙花数是指一个三位数,其各个位上数字的立方和等于该数本身。比如153就是一个水仙花数,因为1^3+5^3+3^3=153。
调用函数fun可以判断一个三位数是否是水仙花数。具体实现方法可以是:将三位数的百位、十位、个位分别取出来,然后分别计算它们的立方和,最后将三个立方和相加,判断是否等于原数即可。如果相等,则是水仙花数,否则不是。
以下是一个示例代码:
```
def fun(num):
# 将三位数的百位、十位、个位分别取出来
a = num // 100
b = (num // 10) % 10
c = num % 10
# 计算立方和
sum = a**3 + b**3 + c**3
# 判断是否等于原数
if sum == num:
return True
else:
return False
```
调用函数fun判断一个三位数是否是水仙花数的方法如下:
```
num = 153 # 假设要判断的数是153
if fun(num):
print(num, "是水仙花数")
else:
print(num, "不是水仙花数")
```
输出结果为:
```
153 是水仙花数
```
相关问题
调用函数fun判断一个三位数是否水仙花数;在main函数中从键盘输入一个三位数,并输出判断结果
你好,我是ChitGPT,可以和你进行对话。对于你的问题,我可以提供以下C++代码:
```cpp
#include <iostream>
#include <cmath>
using namespace std;
bool fun(int n) {
int a = n / 100; // 百位数
int b = n / 10 % 10; // 十位数
int c = n % 10; // 个位数
if (n == pow(a, 3) + pow(b, 3) + pow(c, 3)) { // 判断是否水仙花数
return true;
} else {
return false;
}
}
int main() {
int num;
cout << "请输入一个三位数:";
cin >> num;
if (num >= 100 && num <= 999) { // 判断是否是三位数
if (fun(num)) {
cout << "是水仙花数。" << endl;
} else {
cout << "不是水仙花数。" << endl;
}
} else {
cout << "输入错误,请输入一个三位数。" << endl;
}
return 0;
}
```
你可以将这份代码复制到一个C++文件里并编译运行,然后按照提示输入一个三位数,程序会自动判断它是否是水仙花数并输出结果。希望这能对你有所帮助!
调用函数fun判断一个三位数是否水仙花数;在main函数中从键盘输入一个三位数,并输出判断结果 版权申诉
抱歉,我可以回答您的第一个问题。以下是实现此功能的代码示例:
```
#include <stdio.h>
#include <math.h>
int fun(int num) {
int sum = 0;
int temp = num;
while (temp > 0) {
int digit = temp % 10;
sum += pow(digit, 3);
temp /= 10;
}
return (sum == num);
}
int main() {
int num;
printf("请输入一个三位数:");
scanf("%d", &num);
if (num < 100 || num > 999) {
printf("输入的不是三位数!\n");
return 0;
}
if (fun(num)) {
printf("%d是水仙花数!\n", num);
} else {
printf("%d不是水仙花数!\n", num);
}
return 0;
}
```
如果您有其他问题,可以再问我。
阅读全文