您的位置:

输出所有的水仙花数

水仙花数是指一个三位数的各个位上数字的立方和等于该三位数本身。

一、输出所有的水仙花数 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 语言中,我们在输出水仙花数时,判断一下当前的数字是否为每行的第五个数字,如果是,则输出换行符。以此来实现每行输出五个数字。