21xrx.com
2024-11-05 19:38:44 Tuesday
登录
文章检索 我的文章 写文章
C++代码实现3至7阶水仙花数
2023-07-08 17:35:26 深夜i     --     --
C++ 水仙花数 3至7阶

水仙花数是指一个n位数(n≥3),它的每个位上的数字的n次方之和等于它本身,例如153、370、371、407等。在C++中,实现从3至7阶的水仙花数可以使用循环语句和数学运算。

首先,定义一个可以计算n次方的函数,可以使用循环语句实现:


int pow(int x, int n) {

  int result = 1;

  for (int i = 0; i < n; i++) {

    result *= x;

  }

  return result;

}

接下来,使用循环语句和数学运算来实现寻找水仙花数的代码,可以按照以下步骤进行:

- 从3至7枚举每一个可行的n位数;

- 对于每一个数,将其每一位的n次方相加,判断是否等于这个数本身;

- 如果等于,则说明找到了一个水仙花数,输出它。

完整的代码如下:


#include <iostream>

using namespace std;

int pow(int x, int n) {

  int result = 1;

  for (int i = 0; i < n; i++) {

    result *= x;

  }

  return result;

}

int main() {

  for (int n = 3; n <= 7; n++) {

    int upper_bound = pow(10, n);

    for (int i = 0; i < upper_bound; i++) {

      int num = i;

      int sum = 0;

      while (num != 0) {

        int digit = num % 10;

        sum += pow(digit, n);

        num /= 10;

      }

      if (sum == i)

        cout << i << endl;

      

    }

  }

  return 0;

}

此时,运行程序可以得到从3至7阶的水仙花数,分别为:


153

370

371

407

1634

8208

9474

54748

92727

93084

548834

以上就是使用C++代码实现3至7阶水仙花数的方法。通过使用循环和数学运算,我们可以在程序中寻找满足特定条件的数字,并进行处理和输出。这种方法通常在算法竞赛或程序设计中得到广泛的应用。

  
  

评论区

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