21xrx.com
2024-11-22 05:58:17 Friday
登录
文章检索 我的文章 写文章
C++实现寻找三位数水仙花数
2023-07-05 11:05:44 深夜i     --     --
C++ 三位数 水仙花数 寻找

水仙花数是指一个三位数,其各位数字的立方和等于这个数本身。例如,153是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。

在C++中,我们可以用循环和条件语句实现寻找三位数水仙花数的程序。

首先,我们需要用for循环遍历所有的三位数。我们可以从100开始,到999结束。在每个循环中,我们将当前数字分解成个位数、十位数和百位数。

这可以通过以下代码实现:


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

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

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

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

}

接下来,我们需要判断这个数字是否是水仙花数。这可以通过计算各位数字的立方和来实现。如果结果等于这个数字本身,那么就是水仙花数。

下面的代码展示了完成此操作的方法:


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

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

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

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

  int sum = a * a * a + b * b * b + c * c * c; //计算立方和

  if (sum == i)

    cout << i << "是水仙花数" << endl;

  

}

最后,我们完成了寻找三位数水仙花数的程序。完整代码如下:


#include<iostream>

#include<cstdlib>

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;    //获取个位数

    int sum = a * a * a + b * b * b + c * c * c; //计算立方和

    if (sum == i)

      cout << i << "是水仙花数" << endl;

    

  }

  return 0;

}

当你运行这个程序时,它将输出所有的三位数水仙花数:153,370,371,407。这些数字都是非常有趣的数学问题,也可以用来展示C++编程的基础语法和循环控制结构。

  
  

评论区

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