水仙花數,也稱為自戀數或者阿姆斯特朗數,是指一個n位數(n≥3),它的每個位上的數字的n次冪之和等于它本身。例如,153是一個水仙花數,因為1^3 + 5^3 + 3^3 = 153。
下面是一個用C語言編程實現水仙花數的示例代碼:
#include <stdio.h>
#include <math.h>
int isArmstrong(int num) {
int originalNum, remainder, n = 0, result = 0;
originalNum = num;
while (originalNum != 0) {
originalNum /= 10;
++n;
}
originalNum = num;
while (originalNum != 0) {
remainder = originalNum % 10;
result += pow(remainder, n);
originalNum /= 10;
}
if (result == num) {
return 1;
} else {
return 0;
}
}
int main() {
int num;
printf("請輸入一個數字:");
scanf("%d", &num);
if (isArmstrong(num)) {
printf("%d 是水仙花數。\n", num);
} else {
printf("%d 不是水仙花數。\n", num);
}
return 0;
}
運行該代碼,輸入一個數字,程序會判斷該數字是否為水仙花數,并輸出結果。