21xrx.com
2024-11-22 07:11:02 Friday
登录
文章检索 我的文章 写文章
求解C++中的水仙花数循环
2023-07-06 00:45:54 深夜i     --     --
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++语言。

  
  

评论区

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