21xrx.com
2024-11-05 14:40:40 Tuesday
登录
文章检索 我的文章 写文章
C++程序:输出所有的四叶玫瑰数
2023-07-06 13:46:33 深夜i     --     --
C++ 四叶玫瑰数 输出 程序 循环

四叶玫瑰数,也称为阿姆斯特朗数,指的是一个n位数,它的各位数字的n次方之和等于它本身。例如,1634就是一个四叶玫瑰数,因为1^4 + 6^4 + 3^4 + 4^4 = 1634。

现在我们使用C++来编写程序,输出所有的四叶玫瑰数。我们可以采用暴力枚举的方法,即对于所有的n位数,计算其各位数字的n次方之和,然后判断是否相等。

以下是代码实现:


#include <iostream>

#include <cmath>

using namespace std;

int main()

{

  for (int i = 1000; i <= 9999; i++) {

    int sum = 0;

    int temp = i;

    while (temp != 0) {

      sum += pow(temp % 10, 4);

      temp /= 10;

    }

    if (sum == i)

      cout << i << " ";

    

  }

  return 0;

}

我们从1000到9999枚举所有的四位数,计算各位数字的4次方之和。如果和等于该数本身,我们就输出该数。运行结果如下:


1634 8208 9474

可以看到,C++程序成功地输出了所有的四叶玫瑰数。这个程序虽然简单,但是却展示了计算机的强大能力,让我们更加深入地理解了数学中的奥秘。

  
  

评论区

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