c++,用函数实现判断某个数是否是水仙花数
时间: 2024-12-21 22:21:23 浏览: 0
C++水仙花数介绍及实现方法
水仙花数是指一个三位数,其各位数字立方之和等于该数本身。例如,153是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。
在C++中,你可以创建一个函数来检查一个整数是否是水仙花数。以下是一个简单的示例:
```cpp
#include <iostream>
#include <cmath>
// 函数来计算一个整数的各个位立方和
int sumOfCubes(int num) {
int digits[3];
// 提取并保存每位数字
int remainder;
for (int i = 0; num != 0; ++i) {
remainder = num % 10;
digits[i] = remainder;
num /= 10;
}
// 计算各位立方和
int sum = 0;
for (int i : digits) {
sum += std::pow(i, 3);
}
return sum;
}
// 判断是否为水仙花数的函数
bool isAquileonaryNumber(int num) {
if (num >= 100 && num <= 999) { // 只考虑三位数
return sumOfCubes(num) == num;
} else {
return false;
}
}
int main() {
int input;
std::cout << "Enter a three-digit number: ";
std::cin >> input;
if (isAquileonaryNumber(input)) {
std::cout << input << " is an Aquileonary number.\n";
} else {
std::cout << input << " is not an Aquileonary number.\n";
}
return 0;
}
```
阅读全文