21xrx.com
2024-11-05 16:32:37 Tuesday
登录
文章检索 我的文章 写文章
C++编写程序,计算所有水仙花数。
2023-07-02 17:56:49 深夜i     --     --
C++ 编写程序 水仙花数 计算

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

现在,我们可以使用C++编写程序来计算所有的水仙花数。

首先,我们需要一个for循环来遍历所有的三位数。因为三位数的范围是从100到999,所以我们的for循环应该从100开始,到999结束。

在for循环中,我们需要将当前的数分解成各位数字,并计算它们的立方和。这可以通过数学公式和/或算法来完成。一种简单的方法是使用模运算和除法运算来分解数,并使用变量来记录每位数字和它的立方。

最后,我们需要检查立方和是否等于原始的数。如果是,那么原始的数是一个水仙花数。我们可以将所有水仙花数输出到屏幕上。

下面是一个示例程序,它使用上述算法来计算所有的水仙花数:


#include <iostream>

using namespace std;

int main() {

  int i, j, k, sum;

  for (i = 1; i <= 9; i++) { //第一位数从1到9

    for (j = 0; j <= 9; j++) { //第二位数从0到9

      for (k = 0; k <= 9; k++) { //第三位数从0到9

        sum = i * i * i + j * j * j + k * k * k; //计算立方和

        if (sum == 100 * i + 10 * j + k) //检查是否为水仙花数

          cout << sum << endl; //输出水仙花数

        

      }

    }

  }

  return 0;

}

在这个示例程序中,我们使用三个嵌套循环来遍历所有的三位数。每个循环控制一个特定的位数。我们计算每个数的立方和,并检查它是否等于原始的数。如果等于,我们将它输出到屏幕上。

使用这个程序,我们可以得到所有的水仙花数。这是一个简单但有趣的算法问题,也可以帮助我们提高我们的编程技巧。

  
  

评论区

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