21xrx.com
2024-11-08 22:18:03 Friday
登录
文章检索 我的文章 写文章
C++程序求解三位数水仙花数
2023-06-23 19:38:40 深夜i     --     --
C++ 程序 求解 三位数 水仙花数

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

C++是一种高级程序语言,用于编写各种各样的计算机程序。这里,我们将使用C++编写程序来求解三位数的所有水仙花数。

首先,我们要知道如何判断一个数字是否为水仙花数。我们可以使用以下算法:

1. 将该三位数分解为它的各位数字。

2. 对各位数字进行立方运算。

3. 将所有立方值相加。

4. 检查相加后的结果是否等于这个三位数本身。

下面是我们用C++语言实现的程序:


#include<iostream>

#include<math.h>

using namespace std;

int main(){

 int num, sum, temp=0;

 for(num=100; num<=999; num++){

  int a=0, b=0, c=0;

  a = num/100;        //获取百位数

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

  c = num%10;         //获取个位数

  sum = pow(a,3) + pow(b,3) + pow(c,3); //立方和计算

  if(sum == num)       //判断是否为水仙花数

   cout<<num<<endl;

  

 }

 return 0;

}

让我们逐一解释上面的代码。我们首先引入了iostream和math.h两个头文件,这是因为我们需要使用cout和pow这两个函数。cout函数是用于输出的,pow函数是用于求幂运算的。

我们在程序的主函数中定义了4个变量num, sum, temp和i。其中,num存储了当前正在检查的三位数,sum存储了该三位数的各位数字的立方和,temp是一个临时变量,用于存储各位数字的立方值,而i是一个计数器,用于循环计算三位数。

我们使用了for循环来遍历所有可能的三位数。在每次循环中,我们首先将当前三位数分解为百位数、十位数和个位数,然后利用pow函数计算其各位数字的立方和。如果该立方和等于当前的三位数本身,那么我们就打印输出这个三位数。

最后,我们使用return 0来结束程序的执行。

这段C++代码非常简洁,也非常易于理解。当我们运行这个程序时,它会输出所有的三位数水仙花数,具体结果如下:

153

370

371

407

这表明,C++程序已经成功解决了三位数的水仙花数问题。这个程序非常适合初学者学习C++的同时,提高编程能力。

  
  

评论区

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