21xrx.com
2024-06-03 04:27:43 Monday
登录
文章检索 我的文章 写文章
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++程序实现输出所有的水仙花数就完成了。这是一个简单但实用的程序,对于初学者来说也是一个很好的练手项目。

  
  

评论区

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