1 条题解

  • 0
    @ 2025-10-30 17:09:15

    思路分析

    1. 任务拆解:

    • 遍历所有三位数(100-999)
    • 对每个数分离出个位、十位、百位数字
    • 计算各位数字的立方和
    • 判断是否等于原数,输出水仙花数

    2. 关键点分析:

    • 水仙花数定义:各位数字的立方和等于该数本身
    • 三位数范围:100-999
    • 数字分离方法:
      • 个位 = n % 10
      • 十位 = n / 10 % 10
      • 百位 = n / 100

    3. 步骤规划:

    • 遍历100到999的所有三位数n
    • 分离出个位、十位、百位数字
    • 计算立方和:g³ + s³ + b³
    • 如果等于n,输出n(空格分隔)

    4. 代码对应:

    • for(int n=100;n<1000;n++) → 遍历所有三位数
    • g=n%10; → 获取个位数字
    • s=n/10%10; → 获取十位数字
    • b=n/100; → 获取百位数字
    • if(g*g*g+s*s*s+b*b*b==n) → 检查是否为水仙花数
    • cout<<n<<" " → 输出水仙花数(空格分隔)
    • 1

    信息

    ID
    1258
    时间
    1000ms
    内存
    128MiB
    难度
    3
    标签
    (无)
    递交数
    101
    已通过
    56
    上传者