21xrx.com
2025-03-28 22:32:49 Friday
文章检索 我的文章 写文章
水仙花数C++代码
2023-06-30 18:53:37 深夜i     20     0
- 水仙花数 - C++代码 - 数组 - 循环 - 条件判断

水仙花数是指一个三位数各位数字的立方和等于该数本身。例如,153 = 1^3+5^3+3^3,所以153是水仙花数。下面是一段C++代码来判断是否为水仙花数:

#include<iostream>
using namespace std;
int main(){
  int n, m, k, sum = 0;
  for(n = 100; n <= 999; n++){
    k = n;
    while(k != 0){
      m = k % 10;
      sum += m * m * m;
      k /= 10;
    }
    if(sum == n) cout<<n<<endl;
    sum = 0;
  }
  return 0;
}

通过以上代码,我们可以用循环结构和条件判断来筛选出满足条件的水仙花数。我们设一个变量n,循环范围为[100,999],每次循环将n值赋给k,然后对k进行判断,累加每个数字的立方和,最后判断是否等于n,如果等于就输出这个数。

在本代码示例中,我们使用了while循环来依次提取n的个位、十位、百位,累加立方和,判断是否相等。

以上C++代码可以很快的计算出100到999之间的所有水仙花数(153、370、371、407)。在实际编程中,我们还可以对程序进行进一步优化,提高运行效率。

  
  

评论区