top1编程
← 返回题目
题解

【入门】求出100至999范围内的所有水仙花数。

1 条题解

  • 0
    @ 2026-7-30 0:53:55

    解题思路

    从100到999逐个检查。把一个三位数拆成百位、十位和个位,计算三个数字的立方和;如果立方和等于原数,就输出它。

    参考代码

    // 读取题目给出的数据。
    // 按照题意完成计算。
    // 输出最终答案。
    #include <iostream>
    using namespace std;
    int main(){
    int n,a,b,c,sum;
    for(n=100;
    n<=999;
    n++){
    a=n/100;
    b=n/10%10;
    c=n%10;
    sum=a*a*a+b*b*b+c*c*c;
    if(sum==n)cout<<n<<endl;
    }
    return 0;
    }
    
    

    复杂度

    只检查900个数,时间复杂度是O(1),空间复杂度是O(1)。

    • 1