水仙花數是指一個n位數,其每個位上的數字的n次冪之和等于它本身。例如,153是一個水仙花數,因為1^3 + 5^3 + 3^3 = 153。
下面是使用for循環來求水仙花數的示例代碼:
#include <iostream>
#include <cmath>
int main() {
int num, n, digit, sum;
for(num = 100; num < 1000; num++) {
n = 0;
sum = 0;
int temp = num;
// 計算num的位數
while(temp != 0) {
temp /= 10;
n++;
}
temp = num;
// 求每個位上的數的n次冪之和
while(temp != 0) {
digit = temp % 10;
sum += pow(digit, n);
temp /= 10;
}
// 判斷是否是水仙花數并輸出
if(num == sum) {
std::cout << num << " ";
}
}
return 0;
}
此代碼會輸出所有的三位數水仙花數,即153、370、371、407。您可以根據需要修改循環的范圍和位數來求不同位數的水仙花數。