溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C語言水仙花數與變種水仙花數代碼怎么寫

發布時間:2022-05-13 09:30:03 來源:億速云 閱讀:748 作者:iii 欄目:開發技術

C語言水仙花數與變種水仙花數代碼怎么寫

1. 水仙花數簡介

水仙花數(Narcissistic number)是指一個n位數,其每個位上的數字的n次冪之和等于它本身。例如,153是一個3位數的水仙花數,因為13 + 53 + 33 = 153。

2. 水仙花數的C語言實現

下面是一個簡單的C語言程序,用于找出所有3位數的水仙花數:

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

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

    printf("三位數的水仙花數有:\n");

    for (num = 100; num < 1000; num++) {
        originalNum = num;
        result = 0;

        while (originalNum != 0) {
            remainder = originalNum % 10;
            result += pow(remainder, 3);
            originalNum /= 10;
        }

        if (result == num) {
            printf("%d\n", num);
        }
    }

    return 0;
}

代碼解釋:

  • num:當前檢查的數字。
  • originalNum:保存num的副本,用于計算。
  • remainder:存儲originalNum的每一位數字。
  • result:存儲每一位數字的立方和。

程序通過循環遍歷所有3位數,計算每個數的各位數字的立方和,如果等于原數,則輸出該數。

3. 變種水仙花數簡介

變種水仙花數是指一個n位數,其每個位上的數字的m次冪之和等于它本身,其中m不一定是n。例如,8208是一個4位數的變種水仙花數,因為8? + 2? + 0? + 8? = 8208。

4. 變種水仙花數的C語言實現

下面是一個C語言程序,用于找出所有4位數的變種水仙花數:

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

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

    printf("四位數的變種水仙花數有:\n");

    for (num = 1000; num < 10000; num++) {
        originalNum = num;
        result = 0;

        while (originalNum != 0) {
            remainder = originalNum % 10;
            result += pow(remainder, 4);
            originalNum /= 10;
        }

        if (result == num) {
            printf("%d\n", num);
        }
    }

    return 0;
}

代碼解釋:

  • 與普通水仙花數的代碼類似,只是將冪次改為4,因為這里處理的是4位數。

5. 總結

通過上述代碼,我們可以輕松地找到水仙花數和變種水仙花數。這些代碼展示了如何使用循環和條件判斷來解決數學問題。你可以根據需要修改代碼中的位數和冪次,以查找其他類型的水仙花數。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女