21xrx.com
2025-04-09 05:30:01 Wednesday
文章检索 我的文章 写文章
C++程序:求解100到999的水仙花数
2023-07-13 16:43:57 深夜i     19     0
C++ 程序 水仙花数 100 999

水仙花数是指一个三位数,其各个位数的立方和等于它本身。例如,153是一个水仙花数,因为1³ + 5³ + 3³ = 153。在C++语言中,我们可以使用循环语句和条件语句来求解100到999之间的所有水仙花数。

首先,我们需要一个循环来遍历100到999之间的所有三位数。可以使用for循环语句来实现这个过程。代码如下:

for(int i=100; i<=999; i++)
  // 求解i是否为水仙花数的代码

接下来,我们需要判断每个三位数是否为水仙花数。可以使用if语句来实现这个判断过程。代码如下:

int a = i / 100// 获取i的百位数
int b = (i % 100) / 10// 获取i的十位数
int c = i % 10// 获取i的个位数
if(i == a*a*a + b*b*b + c*c*c)
  // i是水仙花数

最后,我们可以在if语句中输出每个水仙花数的值,并且统计水仙花数的总数。完整的代码如下:

#include <iostream>
using namespace std;
int main()
{
  int count = 0// 统计水仙花数的总数
  for(int i=100; i<=999; i++)
  {
    int a = i / 100// 获取i的百位数
    int b = (i % 100) / 10// 获取i的十位数
    int c = i % 10// 获取i的个位数
    if(i == a*a*a + b*b*b + c*c*c)
    {
      // i是水仙花数
      cout << i << endl;
      count++;
    }
  }
  cout << "Total: " << count << endl; // 输出水仙花数的总数
  return 0;
}

通过以上程序,我们可以求解100-999之间的所有水仙花数,并且输出水仙花数的总数。在编写程序时,我们可以借鉴一些算法思想,更巧妙地实现代码,提高程序的效率和可读性。

  
  

评论区

请求出错了