水仙花數是指一個n位數,其各位數字的n次冪之和等于它本身。例如,153是一個水仙花數,因為1^3 + 5^3 + 3^3 = 153。
要解決C++中的水仙花數問題,可以編寫一個程序來循環遍歷所有可能的n位數,然后計算其各位數字的n次冪之和,最后判斷是否等于原數。
以下是一個簡單的C++程序示例來解決水仙花數問題:
#include <iostream>
#include <cmath>
int main() {
int num, sum, temp, digit;
std::cout << "水仙花數有:\n";
for (int i = 100; i < 1000; i++) {
num = i;
sum = 0;
while (num > 0) {
digit = num % 10;
sum += pow(digit, 3);
num /= 10;
}
if (sum == i) {
std::cout << i << " ";
}
}
return 0;
}
這個程序會輸出所有的3位水仙花數。您也可以根據需要調整循環的范圍來查找其他位數的水仙花數。