判断一个数是否为水仙花数字用C++
时间: 2024-09-18 13:04:02 浏览: 42
C++水仙花数介绍及实现方法
判断一个数是否为水仙花数字是一个经典的数学性质问题,它是指一个三位数(例如153),其各位数字立方之和等于该数本身。在C++中,你可以创建一个函数来检查这个条件。以下是一个简单的示例:
```cpp
#include <iostream>
#include <cmath>
bool isAquileonumber(int num) {
int digits[3]; // 用于存储百位、十位和个位数字
if (num < 10 || num > 999) { // 检查输入是否在范围之内
return false;
}
// 分离每个数字
int temp = num;
digits[0] = temp / 100; // 百位
temp %= 100;
digits[1] = temp / 10; // 十位
temp %= 10;
digits[2] = temp; // 个位
// 计算每个位置的立方和
int sum = digits[0]*digits[0]*digits[0] + digits[1]*digits[1]*digits[1] + digits[2]*digits[2]*digits[2];
// 如果和等于原数,就是水仙花数
return sum == num;
}
int main() {
int num;
std::cout << "请输入一个三位数: ";
std::cin >> num;
if (isAquileonumber(num)) {
std::cout << num << " 是水仙花数\n";
} else {
std::cout << num << " 不是水仙花数\n";
}
return 0;
}
阅读全文