水仙花數(shù)是指一個三位數(shù),其各個位上數(shù)字立方和等于該數(shù)本身。例如,153就是一個水仙花數(shù),因為1^3 + 5^3 + 3^3 = 153。
以下是使用while語句來求解水仙花數(shù)的示例代碼:
#include <stdio.h>
int main() {
int num, originalNum, remainder, result = 0;
printf("請輸入一個三位數(shù): ");
scanf("%d", &num);
originalNum = num;
while (originalNum != 0) {
remainder = originalNum % 10;
result += remainder * remainder * remainder;
originalNum /= 10;
}
if (result == num)
printf("%d 是水仙花數(shù)。\n", num);
else
printf("%d 不是水仙花數(shù)。\n", num);
return 0;
}
該代碼首先要求用戶輸入一個三位數(shù),然后使用原始數(shù)的副本進(jìn)行操作。在while循環(huán)中,我們通過對原始數(shù)進(jìn)行取余操作,得到每個位上的數(shù)字,并將其立方求和,存儲在result變量中。然后,我們將原始數(shù)除以10,以便在下一次循環(huán)中處理下一個數(shù)字。最后,我們將計算出的result與原始數(shù)進(jìn)行比較,如果相等,則該數(shù)是水仙花數(shù),否則不是。