21xrx.com
2024-11-10 00:32:21 Sunday
登录
文章检索 我的文章 写文章
简单易懂的C++代码:求三位数的水仙花数
2023-07-04 18:28:19 深夜i     --     --
C++代码 水仙花数 三位数 简单易懂

求三位数的水仙花数是C++程序设计课程中比较基础的一个问题,但也是很好的练手题。本文将介绍一段简单易懂的C++代码,可帮助大家快速求出三位数的水仙花数。

首先,什么是水仙花数呢?简单来说,水仙花数是指一个三位数,如果它的各位数字的立方和等于该数本身,那么就称其为一个水仙花数。例如:153 = 1³ + 5³ + 3³。

那么,如何求解三位数的水仙花数呢?我们可以通过穷举的方法来找出所有符合条件的三位数。具体来说,我们可以从100开始循环,每次递增1,到999结束。在循环中,对于每个数字,我们可以将其拆分为个位、十位和百位,然后验证该数是否为水仙花数,如果是,则输出该数。

下面是对应的C++代码:


#include <iostream>

using namespace std;

int main() {

  for (int i = 100; i <= 999; i++) {

    int a = i / 100;

    int b = (i % 100) / 10;

    int c = i % 10;

    if (a*a*a + b*b*b + c*c*c == i)

      cout << i << " ";

    

  }

  return 0;

}

我们可以看到,这段代码非常简单易懂。首先,我们使用一个for循环从100到999循环遍历每个三位数。然后,我们使用整除和取余运算符将该数拆分为三个数字。最后,我们使用if语句判断该数是否为水仙花数,如果是,则将其输出。

当我们运行上述代码时,输出结果为:


153 370 371 407

我们可以看到,程序成功输出了所有的水仙花数。

综上所述,这段简单易懂的C++代码帮助我们解决了求解三位数的水仙花数的问题。通过这个练手题,我们不仅加深了对C++中for循环和if语句的理解,同时也感受到了编程中的乐趣和成就感。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复