21xrx.com
2024-12-22 23:59:10 Sunday
登录
文章检索 我的文章 写文章
C++代码:输出所有的玫瑰花数
2023-07-06 20:04:47 深夜i     --     --
C++ 玫瑰花数 输出

玫瑰花数是指n位数中每个数字的n次方之和等于该数字本身的数。例如,153是一个3位数中的玫瑰花数,因为1³ + 5³ + 3³ = 153。

一个简单的方法来输出所有的玫瑰花数是通过循环计算每个数字的n次方之和,并与该数字本身进行比较。如果它们相等,那么它就是一个玫瑰花数。

以下是使用C++编程语言编写的代码,用于输出所有的玫瑰花数:

#include

using namespace std;

int main()

{

  int n;

  cout << "Enter the number of digits: ";

  cin >> n;

  int limit = pow(10, n);

  int start = pow(10, n-1);

  for (int i = start; i < limit; i++)

  {

    int sum = 0;

    int num = i;

    while (num > 0)

    {

      int digit = num % 10;

      sum += pow(digit, n);

      num /= 10;

    }

    if (sum == i)

      cout << i << " is a rose number." << endl;

  }

  return 0;

}

此代码首先提示用户输入位数,然后创建一个变量来存储限制值和起始值。限制值是指在n位数中的最大值,而起始值是最小值。接下来,循环每个数字并计算n次方数之和。如果计算的和等于数字本身,则打印输出该数字是一个玫瑰花数。

执行此代码将输出所有的n位玫瑰花数。编程可以帮助许多人更好地理解数学中的概念和性质。

  
  

评论区

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