21xrx.com
2025-03-28 01:07:43 Friday
文章检索 我的文章 写文章
C++程序求解三位数的水仙花数
2023-06-30 13:37:53 深夜i     31     0
C++ 水仙花数 三位数 求解

水仙花数是指一个三位数,其各个数字的立方和等于该数本身。例如,153是一个水仙花数,因为1³ + 5³ + 3³ = 153。下面我们介绍如何使用C++程序来求解三位数的水仙花数。

首先,我们需要定义一个函数来判断一个数是否为水仙花数。这个函数的实现非常简单,只需要按照水仙花数的定义进行计算即可。以下是该函数的代码:

bool isNarcissistic(int num)
{
  int hundreds = num / 100;    // 百位
  int tens = (num % 100) / 10;  // 十位
  int ones = num % 10;      // 个位
  int sum = hundreds*hundreds*hundreds + tens*tens*tens + ones*ones*ones;
  return (sum == num);
}

接下来,我们需要在主函数中枚举所有的三位数,并将其传递给上述函数进行判断。以下是代码实现:

int main()
{
  for (int i = 100; i < 1000; i++) {
    if (isNarcissistic(i))
      cout << i << " ";
    
  }
  return 0;
}

以上代码会输出所有的三位数水仙花数。未来如果需要输出其他位数的水仙花数,只需要修改循环的上下限即可。

综上所述,C++程序可以轻松地求解三位数的水仙花数。这种方法可以用于求解其他位数的水仙花数,而且代码非常简单易懂,适合初学者学习和练习。

  
  

评论区

请求出错了