c++判断给定整数是否为水仙花数,是则返回1,否则返回0。
时间: 2024-03-02 10:48:18 浏览: 31
好的,以下是一个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;
}
```
你可以将这段代码复制粘贴到你的编程环境中运行,也可以根据需要进行修改和优化。