輸出所有的水仙花數

水仙花數是指一個三位數的各個位上數字的立方和等於該三位數本身。

一、輸出所有的水仙花數 c語言代碼

#include <stdio.h>
int main() {
    int i, j, k;
    printf("所有的水仙花數為:\n");
    for (i = 1; i <= 9; i++) {
        for (j = 0; j <= 9; j++) {
            for (k = 0; k <= 9; k++) {
                int num = i * 100 + j * 10 + k;
                if (num == i * i * i + j * j * j + k * k * k) {
                    printf("%d ", num);
                }
            }
        }
    }
    printf("\n");
    return 0;
}

在 c 語言中,我們可以使用三層嵌套的循環,枚舉所有的三位數,判斷是否為水仙花數,如果是,就輸出。

二、輸出所有的水仙花數 Python 代碼

def isNarcissisticNumber(n):
    n_str = str(n)
    k = len(n_str)
    return sum([int(x) ** k for x in n_str]) == n
    
result_list = [x for x in range(100, 1000) if isNarcissisticNumber(x)]
print(result_list)

在 Python 中,我們可以先定義一個函數 isNarcissisticNumber,用於判斷一個數是否為水仙花數。然後使用一個列表推導式,生成所有的三位水仙花數。最後輸出結果。

三、輸出所有的水仙花數每行輸出2個數字

#include <stdio.h>
int main() {
    int i, j, k;
    printf("所有的水仙花數為:\n");
    int count = 0;
    for (i = 1; i <= 9; i++) {
        for (j = 0; j <= 9; j++) {
            for (k = 0; k <= 9; k++) {
                int num = i * 100 + j * 10 + k;
                if (num == i * i * i + j * j * j + k * k * k) {
                    printf("%d ", num);
                    count++;
                    if (count % 2 == 0) {
                        printf("\n");
                    }
                }
            }
        }
    }
    printf("\n");
    return 0;
}

在 c 語言中,我們在輸出水仙花數時,判斷一下當前的數字是否為每行的第二個數字,如果是,則輸出換行符。以此來實現每行輸出兩個數字。

四、輸出所有的水仙花數 Python 代碼

def isNarcissisticNumber(n):
    n_str = str(n)
    k = len(n_str)
    return sum([int(x) ** k for x in n_str]) == n
    
result_list = [x for x in range(100, 1000) if isNarcissisticNumber(x)]

n = 2
for i in range(0, len(result_list), n):
    print(result_list[i:i + n])

在 Python 中,我們可以直接使用切片(slice)來實現每行輸出兩個數字的效果。

五、輸出所有的水仙花數 plsql 代碼

DECLARE
    num NUMBER(3);
    i NUMBER(1);
    j NUMBER(1);
    k NUMBER(1);
BEGIN
    dbms_output.put_line('所有的水仙花數為:');
    FOR i IN 1..9 LOOP
        FOR j IN 0..9 LOOP
            FOR k IN 0..9 LOOP
                num := i * 100 + j * 10 + k;
                IF num = i * i * i + j * j * j + k * k * k THEN
                   dbms_output.put(num || ' ');
                END IF;
            END LOOP;
        END LOOP;
    END LOOP;
    dbms_output.put_line('');
END;

在 plsql 中,我們可以使用 dbms_output.put_line() 函數來輸出結果。

六、輸出所有的水仙花數 while 循環

#include <stdio.h>
int main() {
    int num = 100;
    printf("所有的水仙花數為:\n");
    while (num < 1000) {
        int i = num / 100, j = num / 10 % 10, k = num % 10;
        if (num == i * i * i + j * j * j + k * k * k) {
            printf("%d ", num);
        }
        num++;
    }
    printf("\n");
    return 0;
}

在 c 語言中,我們可以使用 while 循環代替 for 循環,以此來遍歷所有三位數。每次循環時,判斷當前數字是否為水仙花數,如果是,則輸出。

七、輸出所有的水仙花數 c語言程序

#include <stdio.h>
int main() {
    int num = 100;
    printf("所有的水仙花數為:\n");
    while (num < 1000) {
        int i = num / 100, j = num / 10 % 10, k = num % 10;
        if (num == i * i * i + j * j * j + k * k * k) {
            printf("%d ", num);
        }
        num++;
    }
    printf("\n");
    return 0;
}

這是一個簡單的 c 語言程序,用於輸出所有的水仙花數。

八、輸出所有的水仙花數每行輸出五個

#include <stdio.h>
int main() {
    int i, j, k;
    printf("所有的水仙花數為:\n");
    int count = 0;
    for (i = 1; i <= 9; i++) {
        for (j = 0; j <= 9; j++) {
            for (k = 0; k <= 9; k++) {
                int num = i * 100 + j * 10 + k;
                if (num == i * i * i + j * j * j + k * k * k) {
                    printf("%d ", num);
                    count++;
                    if (count % 5 == 0) {
                        printf("\n");
                    }
                }
            }
        }
    }
    printf("\n");
    return 0;
}

在 c 語言中,我們在輸出水仙花數時,判斷一下當前的數字是否為每行的第五個數字,如果是,則輸出換行符。以此來實現每行輸出五個數字。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/257613.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-15 12:46
下一篇 2024-12-15 12:46

相關推薦

發表回復

登錄後才能評論