有趣的水仙花数

Description

找出所有的水仙花数、水仙花数是这样的三位数,其各位数字的立方和等于该数。例:1*1*1+5*5*5+3*3*3=153,所以153是一个水仙花数

Input

不用输入

Output

输出符合条件的水仙花数,共一行,每两个数之间用空格隔开。

python解法

for i in range(100, 1000):
    ge = i % 10  # 个位数
    shi = i // 10 % 10  # 十位数
    bai = i // 100  # 百位数
    # 判断是否为水仙花数:每位数字的三次幂之和是否等于该数本身
    if pow(ge, 3) + pow(shi, 3) + pow(bai, 3) == i:
        print(i, end=" ")  # 如果是,则打印该数和一个空格

c++解法

#include<bits/stdc++.h> // 包含大多数标准库
using namespace std;

int main(){
    // 遍历所有三位数
    for(int i=100;i<=999;i++){
        int ge = i%10; // 个位数
        int shi = i/10%10; // 十位数
        int bai = i/100; // 百位数
        
        // 判断是否为水仙花数:每位数字的三次幂之和是否等于该数本身
        if(pow(ge,3)+pow(shi,3)+pow(bai,3)==i){
            cout<<i<<" "; // 如果是,则打印该数和一个空格
        }
    }
    
    return 0; // 程序结束
}
如果您有更优的解法,欢迎在评论区一起交流噢~

 

阅读剩余
THE END