水仙花數是指一個n位數,其各位數字的n次冪之和等于該數本身。比如三位數153就是一個水仙花數,因為1^3 + 5^3 + 3^3 = 153。
以下是一個用C語言實現水仙花數的程序:
#include <stdio.h>
#include <math.h>
int main() {
int num, originalNum, remainder, result = 0, n = 0;
printf("請輸入一個整數:");
scanf("%d", &num);
originalNum = num;
// 計算這個數是幾位數
while (originalNum != 0) {
originalNum /= 10;
++n;
}
originalNum = num;
// 計算各位數字的n次冪之和
while (originalNum != 0) {
remainder = originalNum % 10;
result += pow(remainder, n);
originalNum /= 10;
}
// 判斷是否為水仙花數
if (result == num) {
printf("%d 是水仙花數。\n", num);
} else {
printf("%d 不是水仙花數。\n", num);
}
return 0;
}
運行程序后,輸入一個整數,程序會判斷該整數是否為水仙花數。