21xrx.com
2024-11-22 06:47:44 Friday
登录
文章检索 我的文章 写文章
C++实现水仙花数的计算
2023-07-12 22:15:30 深夜i     --     --
C++ 水仙花数 计算

水仙花数,也称为自恋数或阿姆斯特朗数,是指一个n位数,其中每个位上的数字的n次幂之和等于该数本身。例如,153是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。

在C++中,可以通过编写一个简单的程序来计算n位的水仙花数。下面是一个简单的C++代码示例,可用于计算n位数的水仙花数:

#include

#include

using namespace std;

int main() {

 int n = 3; // n位数

 int start = pow(10, n - 1); // 起始数

 int end = pow(10, n) - 1; // 结束数

 for (int i = start; i <= end; i++) {

  int sum = 0;

  int temp = i;

  while (temp > 0) {

   int digit = temp % 10;

   sum += pow(digit, n);

   temp /= 10;

  }

  if (i == sum)

   cout << i << endl;

 }

 return 0;

}

在这个程序中,我们首先定义了n,即水仙花数的位数。然后,我们计算了起始和结束数,以便在循环中计算水仙花数。在循环中,我们使用一个while循环来计算每个数的每个位上数字的n次幂之和。如果该数等于和,则将其打印到控制台上。

通过运行这个简单的程序,我们可以找到指定位数的所有水仙花数。在这里,我们以3位数为例,但您可以根据需要更改n的值来计算更多位数的水仙花数。

总的来说,C++是一种功能强大的编程语言,可以很容易地实现复杂的计算和算法。使用C++编写的程序可以提供高效的计算和准确的结果,因此,它是学习编程和数学的绝佳选择。

  
  

评论区

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