c語言水仙花數(shù)程序怎么實(shí)現(xiàn)

小億
97
2024-05-06 19:32:58
欄目: 編程語言

水仙花數(shù)是指一個(gè)n位數(shù),其各位數(shù)字的n次冪之和等于該數(shù)本身。比如三位數(shù)153就是一個(gè)水仙花數(shù),因?yàn)?^3 + 5^3 + 3^3 = 153。

以下是一個(gè)用C語言實(shí)現(xiàn)水仙花數(shù)的程序:

#include <stdio.h>
#include <math.h>

int main() {
    int num, originalNum, remainder, result = 0, n = 0;

    printf("請(qǐng)輸入一個(gè)整數(shù):");
    scanf("%d", &num);

    originalNum = num;

    // 計(jì)算這個(gè)數(shù)是幾位數(shù)
    while (originalNum != 0) {
        originalNum /= 10;
        ++n;
    }

    originalNum = num;

    // 計(jì)算各位數(shù)字的n次冪之和
    while (originalNum != 0) {
        remainder = originalNum % 10;
        result += pow(remainder, n);
        originalNum /= 10;
    }

    // 判斷是否為水仙花數(shù)
    if (result == num) {
        printf("%d 是水仙花數(shù)。\n", num);
    } else {
        printf("%d 不是水仙花數(shù)。\n", num);
    }

    return 0;
}

運(yùn)行程序后,輸入一個(gè)整數(shù),程序會(huì)判斷該整數(shù)是否為水仙花數(shù)。

0