21xrx.com
2025-03-30 12:25:40 Sunday
文章检索 我的文章 写文章
求解C++中的水仙花数循环
2023-06-26 01:00:51 深夜i     19     0
C++ 水仙花数 循环 求解

在C++语言中,我们可以使用循环来求解水仙花数。所谓水仙花数,指的是一个三位数,各个位上的数字立方和等于该数本身。例如,153就是一个水仙花数,因为1的立方加5的立方加3的立方等于153。用C++语言来求解水仙花数,我们可以使用循环来实现。

首先需要明确的是,一个三位数的个位、十位、百位数字的取值范围都是从0到9之间。因此,我们可以使用三重循环来枚举所有的三位数,然后判断其是否为水仙花数。具体代码如下所示:

#include <iostream>
using namespace std;
int main()
{
  for (int i = 1; i <= 9; i++)
  {
    for (int j = 0; j <= 9; j++)
    {
      for (int k = 0; k <= 9; k++)
      {
        int num = i * 100 + j * 10 + k;
        if (num == i * i * i + j * j * j + k * k * k)
        
          cout << num << endl;
        
      }
    }
  }
  return 0;
}

上述代码中,我们使用三重循环来枚举所有的三位数,其中变量i、j、k分别表示了这个三位数的百位、十位和个位上的数字。然后使用公式i * 100 + j * 10 + k得出该数的值,再判断该数是否为水仙花数,如果是,则输出该数。通过这种方法,我们就可以求解出所有的水仙花数。

值得注意的是,上述代码中首先枚举百位数字i,是因为题目要求这个三位数是一个正整数,百位数字不能为0。其次,枚举范围都是从0到9之间,因为三位数的任意一位数字都不能大于9。

总之,对于C++程序员来说,求解水仙花数是一个很好的练习题,同时也增加了对循环的应用和理解,希望大家能够通过自己的实践来进一步掌握C++语言。

  
  

评论区

请求出错了