C++水仙花数列代码
时间: 2024-11-17 11:11:07 浏览: 7
在C++中,水仙花数( narcissistic number 或者 pluperfect digital invariant)是指一个三位数,其每一位数字的立方和等于它本身。例如,153是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。
下面是一个简单的C++函数来检查一个数字是否是水仙花数:
```cpp
#include <iostream>
#include <cmath>
bool isNarcissistic(int num) {
if (num < 100 || num > 999) {
return false; // 数字不是三位数
}
int sum = 0;
int temp = num;
while (temp != 0) {
int digit = temp % 10;
sum += std::pow(digit, 3); // 计算每位数字的立方
temp /= 10;
}
return sum == num; // 如果和等于原数,则是水仙花数
}
int main() {
int num;
std::cout << "请输入一个三位数:";
std::cin >> num;
if (isNarcissistic(num)) {
std::cout << num << " 是水仙花数" << std::endl;
} else {
std::cout << num << " 不是水仙花数" << std::endl;
}
return 0;
}
```
在这个程序中,`isNarcissistic`函数接受一个整数作为输入,检查并返回它是否是水仙花数。在`main`函数中,用户可以输入一个三位数,然后程序会判断它是否满足水仙花数的条件。
阅读全文