输入一个三位数,判断是否为一个水仙花数。水仙花数是指3位数的各位数字的立方和等于这个三位数本身。用c++if语句编写。
时间: 2024-11-09 20:23:34 浏览: 8
输出所有的水仙花数,所谓水仙花数是指一个3位数,其各个位上数字立方和等于其本身。
在C++中,判断一个三位数是否为水仙花数可以使用if语句和简单的计算。以下是如何实现的一个例子:
```cpp
#include <iostream>
#include <cmath>
bool is narcissistic(int num) {
int digits[3]; // 存储每一位的值
int sum = 0;
// 将三位数分解到digits数组中
while (num > 0) {
digits[2] = num % 10;
sum += std::pow(digits[2], 3); // 计算立方和
num /= 10;
}
// 判断三位数的立方和是否等于原数
if (sum == num)
return true; // 如果相等,则是水仙花数
else
return false; // 否则不是
}
int main() {
int input;
std::cout << "请输入一个三位数: ";
std::cin >> input;
if (is_narcissistic(input))
std::cout << input << " 是一个水仙花数.\n";
else
std::cout << input << " 不是一个水仙花数.\n";
return 0;
}
```
在这个程序中,`is_narcissistic`函数首先将输入的数转换成它的各个位数,并计算它们的立方和。然后检查这个和是否等于原始的数,如果是就返回true,表示它是一个水仙花数。
阅读全文