水仙花數(shù),也稱為自戀數(shù)或者阿姆斯特朗數(shù),是指一個n位數(shù)(n≥3),它的每個位上的數(shù)字的n次冪之和等于它本身。例如,153是一個水仙花數(shù),因為1^3 + 5^3 + 3^3 = 153。
下面是一個用C語言編程實現(xiàn)水仙花數(shù)的示例代碼:
#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("請輸入一個數(shù)字:");
scanf("%d", &num);
if (isArmstrong(num)) {
printf("%d 是水仙花數(shù)。\n", num);
} else {
printf("%d 不是水仙花數(shù)。\n", num);
}
return 0;
}
運行該代碼,輸入一個數(shù)字,程序會判斷該數(shù)字是否為水仙花數(shù),并輸出結果。