21xrx.com
2024-11-22 03:16:06 Friday
登录
文章检索 我的文章 写文章
C++程序:求解100到999的水仙花数
2023-07-13 16:43:57 深夜i     --     --
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之间的所有水仙花数,并且输出水仙花数的总数。在编写程序时,我们可以借鉴一些算法思想,更巧妙地实现代码,提高程序的效率和可读性。

  
  

评论区

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