返回目录

水仙花数是指一个数,它的每个位上的数字的3次幂之和等于它本身

例如:153 = 1^3^ + 5^3^ + 3^3^

找出1000以内的所有水花仙数

Python源码

print("输出水仙花数:")
for i in range(100, 1000):  # 整数的取值范围
    a = i % 10  # 个位数
    b = (i // 10) % 10  # 十位数
    c = i // 100  # 百位数

    if i == a**3 + b**3 + c**3:  # 各位上的立方和是否与原数n相等
        print(i, end='\t')

C语言源码

#include<stdio.h>
int main()
{
    printf("输出水仙花数:\n");
    int i, a, b, c;
    for (i = 100; i <= 999; i++) //整数的取值范围
    {
        int a = i % 10;//个位数 
        int b = (i / 10) % 10;//十位数 
        int c = i / 100;//百位数 

        if (i == a * a * a + b * b * b + c * c * c) //各位上的立方和是否与原数n相等
            printf("%d\t", i);
    }

    return 0;
}

Java源码

public class Main {
    public static void main(String[] args) {
        System.out.println("输出水仙花数:");
        for (int i = 100; i < 1000; i++) { // 整数的取值范围
            int a = i % 10; // 个位数
            int b = (i / 10) % 10; // 十位数
            int c = i / 100; // 百位数

            if (i == (a * a * a) + (b * b * b) + (c * c * c)) { // 各位上的立方和是否与原数n相等
                System.out.print(i + "\t");
            }
        }
    }
}
最后修改:2024 年 04 月 19 日
如果觉得我的文章对你有用,请随意赞赏