21xrx.com
2024-11-22 06:24:35 Friday
登录
文章检索 我的文章 写文章
C++实现求水仙数算法
2023-07-13 10:54:21 深夜i     --     --
C++ 水仙数 算法 实现

水仙数是指一个三位数,它的每个位上的数字的立方之和等于它本身。例如,153是一个水仙数,因为1^3+5^3+3^3=153。这种数学问题通常在编程和数学竞赛中使用。

本文将介绍如何使用C++编程语言实现求水仙数的算法。

首先,我们需要定义一个函数来判断一个三位数是否为水仙数。我们可以使用for循环来遍历每个数字,并使用pow()函数计算每个数字的立方和。如果这个总和等于输入的数字,则返回true,否则返回false。

bool isNarcissistic(int num){

  int sum = 0, temp = num;

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

   int digit = temp % 10;

   sum += pow(digit, 3);

   temp /= 10;

  }

  if(sum == num)

   return true;

  else

   return false;

}

接下来,我们可以在main函数中使用for循环来遍历每个三位数,并调用isNarcissistic()函数来检查是否为水仙数。如果是,我们可以使用cout打印出该数字。

int main() {

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

   if(isNarcissistic(i))

     cout << i << " ";

  }

  cout << endl;

  return 0;

}

运行程序后,我们将会看到在100到999之间的所有水仙数输出在屏幕上。

以上就是使用C++实现求水仙数算法的方法。这是一个简单而有趣的算法,也是学习编程的好方式。希望本文能对读者有所帮助。

  
  

评论区

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