判断一个数是否为"水仙花数",所谓"水仙花数"是指这样的一类数:其各位数字的立方和等于该数本身。例如:371是一个"水仙花数",371=33+73+13. 输入格式:
时间: 2024-10-21 07:14:31 浏览: 18
使用C语言判断输入的数字是否是水仙花数
要编写一个程序来判断一个数是否为“水仙花数”,你可以按照以下步骤进行:
1. 首先,定义一个函数,接收一个整数作为参数。
2. 将该数分解为各个位上的数字。这可以通过取模运算得到个位、十位和百位(如果有的话)。
3. 对每个位置上的数字计算它的立方。
4. 把这些立方相加,然后检查这个和是否等于原始输入的数。
以下是一个简单的C++示例代码:
```cpp
#include <iostream>
#include <cmath>
bool isNarcissisticNumber(int number) {
int sum = 0;
int temp = number; // 临时存储原数
while (temp != 0) {
int digit = temp % 10; // 取个位
sum += std::pow(digit, 3); // 立方并累加
temp /= 10; // 移除个位
}
return sum == number;
}
int main() {
int num;
std::cout << "Enter a number: ";
std::cin >> num;
if (isNarcissisticNumber(num)) {
std::cout << num << " is a Narcissistic number." << std::endl;
} else {
std::cout << num << " is not a Narcissistic number." << std::endl;
}
return 0;
}
```
阅读全文