21xrx.com
2025-03-27 16:11:22 Thursday
文章检索 我的文章 写文章
C++程序实现输出所有的水仙花数
2023-07-08 05:44:32 深夜i     --     --
C++ 水仙花数 输出

在C++编程中,水仙花数是一个非常常见的问题,它是指一个三位数,它的每个数字的立方和等于这个数本身。例如,153是一个水仙花数,因为1³ + 5³ + 3³ = 153。本文介绍如何使用C++编写程序输出所有的水仙花数。

首先,我们需要使用循环语句来计算每一个三位数,然后判断该数是否为水仙花数。在C++中,可以使用for循环来遍历所有三位数,代码如下:

for(int i=100; i<=999; i++)
  // 判断i是否为水仙花数

然后,我们需要编写代码来判断一个三位数是否为水仙花数。这可以通过将其个位、十位和百位分离开来,并将它们的立方和相加来实现。具体如下:

int num = i; // 将i赋值给一个新变量num
int sum = 0;
while (num != 0) {
  int digit = num % 10; // 取当前最后一位数字
  sum += digit * digit * digit; // 累加到sum中
  num /= 10; // 去掉当前最后一位数字
}
if (sum == i)
  std::cout << i << "是水仙花数" << std::endl;

最终,我们可以根据上面的代码来输出所有的水仙花数。完整的代码如下:

#include <iostream>
int main() {
  for (int i = 100; i <= 999; i++) {
   int num = i;
   int sum = 0;
   while (num != 0) {
     int digit = num % 10;
     sum += digit * digit * digit;
     num /= 10;
   }
   if (sum == i)
     std::cout << i << "是水仙花数" << std::endl;
   
  }
  return 0;
}

运行上面的代码,输出如下:

153是水仙花数
370是水仙花数
371是水仙花数
407是水仙花数

因此,C++程序实现输出所有的水仙花数就完成了。这是一个简单但实用的程序,对于初学者来说也是一个很好的练手项目。

  
  

评论区