holyya.com
2025-09-04 22:06:46 Thursday
登录
文章检索 我的文章 写文章
C++代码:如何输出水仙花数
2023-07-05 01:16:07 深夜i     --     --
C++ 输出 水仙花数

水仙花数是指一个3位数,如果它各个位上的数字的3次幂之和等于它本身,那么这个数就是水仙花数。例如,153就是一个水仙花数,因为1³ + 5³ + 3³ = 153。

下面是一段使用C++语言编写输出水仙花数的代码:


#include <iostream>

#include <cmath>

using namespace std;

int main() {

  int num, digit, sum;

  for (int i = 100; i <= 999; i++) {

   num = i;

   sum = 0;

   while (num > 0) {

     digit = num % 10;

     sum += pow(digit, 3);

     num /= 10;

   }

   if (sum == i)

     cout << i << " ";

   

  }

  return 0;

}

这段代码首先使用一个循环,从100到999遍历所有的3位数。接着在循环中,使用一个while循环来计算每个数的各个位数的3次幂之和。最后,如果这个和等于这个数本身,就将该数输出。这样一来,输出的便是所有的水仙花数。

该段代码的执行结果为:153 370 371 407。可以发现,只有这四个数满足水仙花数的定义。使用C++语言输出水仙花数,要注意使用math.h头文件中的pow函数计算幂次。

  
  

评论区

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