c++水仙花数调用函数is
时间: 2024-07-15 07:00:50 浏览: 78
在C++中,水仙花数(Narcissistic Number)是指一个n位正整数,其各位数字的n次幂之和等于该数本身。例如,153是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。
如果你想要编写一个`isNarcissistic`函数来检查一个数是否为水仙花数,你可以这样做:
```cpp
#include <cmath>
bool isNarcissistic(int num) {
int n = static_cast<int>(std::log10(num) + 1); // 获取数字位数
int sum_of_powers = 0;
int digit;
while (num > 0) {
digit = num % 10; // 取最后一位
sum_of_powers += std::pow(digit, n); // 将每位数字的n次方加到sum_of_powers
num /= 10; // 去掉最后一位
}
return sum_of_powers == num; // 如果sum_of_powers等于num,那么它就是水仙花数
}
// 示例:
int main() {
int test_num = 153;
if (isNarcissistic(test_num)) {
std::cout << test_num << " is a Narcissistic number.\n";
} else {
std::cout << test_num << " is not a Narcissistic number.\n";
}
return 0;
}
```
阅读全文