21xrx.com
2024-11-05 17:20:26 Tuesday
登录
文章检索 我的文章 写文章
C++程序:求100~999之间的水仙花数
2023-07-13 05:06:37 深夜i     --     --
C++ 水仙花数 100 999

在数学中,水仙花数是指一个三位数,它的各位数字的立方和恰好等于该数本身。换句话说,如果一个三位数的百位、十位和个位分别为a、b、c,则它是否是水仙花数可以通过计算a³+b³+c³是否等于该数来判断。

在程序设计中,我们可以使用C++语言来寻找100~999之间的所有水仙花数。下面是实现这一目标的一段简单代码:

#include

using namespace std;

int main()

{

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

  {

    int a = i / 100; // 取百位数

    int b = (i / 10) % 10; // 取十位数

    int c = i % 10; // 取个位数

    if(i == a*a*a + b*b*b + c*c*c) // 判断是否为水仙花数

      cout << i << endl; // 若是

  }

  return 0;

}

如上所示,首先使用for循环遍历100~999之间的所有三位数。然后,使用算法获取每个数的百位、十位和个位数字,并计算其立方和。如果该立方和等于该数本身,则该数为水仙花数,输出该数即可。

运行程序后,控制台将输出所有100~999之间的水仙花数:

153

370

371

407

这四个三位数分别满足条件:153 = 1³ + 5³ + 3³,370 = 3³ + 7³ + 0³,371 = 3³ + 7³ + 1³,407 = 4³ + 0³ + 7³。因此,我们可以用简单的C++代码来找出所有的水仙花数。

  
  

评论区

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