21xrx.com
2025-03-29 22:58:02 Saturday
文章检索 我的文章 写文章
C++程序:求解所有的水仙花数
2023-06-24 16:22:07 深夜i     22     0
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语句判断是否为水仙花数,从而得到了所有的水仙花数。这个程序算法简单、易于理解,非常适合初学者学习。

  
  

评论区

请求出错了