C++编程计算求“水仙花数”。所谓“水仙花数”,是指一个三位数,各位数字立方和等于该数本身
时间: 2024-10-12 21:09:42 浏览: 62
在C++中,计算"水仙花数"可以编写一个简单的循环程序,遍历所有三位数,并验证它们是否满足条件,即各位数字的三次方之和等于原数。以下是代码实现的一个示例:
```cpp
#include <iostream>
using namespace std;
bool is narcissistic(int n) {
int sum = 0;
int originalNum = n; // 将原始数存储以便恢复
// 分离每位数字并取立方
while (originalNum != 0) {
int digit = originalNum % 10;
sum += pow(digit, 3); // 加上立方后的数字
originalNum /= 10;
}
// 检查结果是否相等
return sum == n;
}
int main() {
int start = 100, end = 999; // 只考虑三位数
cout << "Searching for narcissistic numbers between " << start << " and " << end << ":" << endl;
for (int i = start; i <= end; ++i) {
if (is_narcissistic(i)) {
cout << i << " is a Narcissistic Number.\n";
}
}
return 0;
}
```
在这个程序中,`is_narcissistic` 函数接收一个整数 `n`,并通过将每个位上的数字取出并计算其立方值来判断是否为水仙花数。如果所有位上的立方和等于原始数,就返回true,表示它是水仙花数。
阅读全文
相关推荐


















