21xrx.com
2024-12-27 13:05:53 Friday
登录
文章检索 我的文章 写文章
C++程序:求解所有的水仙花数
2023-07-02 03:41:02 深夜i     --     --
C++ 水仙花数 求解

水仙花数指的是一个三位数,它的各位数字立方和等于该数本身。比如说,153可以写成1^3 + 5^3 + 3^3,因此153就是一个水仙花数。那么,如何使用C++程序来求解所有的水仙花数呢?

我们可以通过编写一个for循环,枚举所有的三位数,然后再进行判断是否为水仙花数。具体的代码实现如下所示:


#include<iostream>

#include<cmath>

using namespace std;

int main()

{

  for(int i = 100 ; i < 1000 ; i++)

  {

    int a = i / 100;

    int b = i % 100 / 10;

    int c = i % 10;

    if(pow(a,3)+pow(b,3)+pow(c,3) == i)

      cout << i << endl;

  }

  return 0;

}

在上述代码中,我们使用了一个for循环,枚举了所有的三位数,然后取出每一个数的个位、十位和百位,分别赋值给变量a、b、c。接着,我们进行了判断,如果这个数的立方和等于这个数本身,就输出它,也就是所有的水仙花数。

这段代码的执行结果如下所示:


153

370

371

407

在这个输出中,我们可以看到,所有的水仙花数分别为153、370、371和407。

总结

在这篇文章中,我们学习了如何使用C++程序来求解所有的水仙花数。通过for循环的方式,可以枚举所有的三位数,并用if语句判断是否为水仙花数,从而得到了所有的水仙花数。这个程序算法简单、易于理解,非常适合初学者学习。

  
  

评论区

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