21xrx.com
2024-12-22 21:44:31 Sunday
登录
文章检索 我的文章 写文章
使用C++编程输出所有的水仙花数
2023-07-12 00:17:41 深夜i     --     --
C++ 水仙花数 编程 输出 循环

水仙花数是指一个n位正整数,它的每个位上的数字的n次幂之和等于它本身。例如,153是一个水仙花数,因为153=1^3+5^3+3^3。在本文中,我们将使用C++编程输出所有的水仙花数。

首先,我们将定义一个函数来判断一个数是否为水仙花数。该函数将接收一个整数作为参数,然后将该整数转换为字符串,并将每个字符的n次方之和与原始数字进行比较。如果它们相等,该函数将返回true,否则将返回false。

bool isArmstrong(int number) {

  std::string str = std::to_string(number);

  int n = str.size();

  int sum = 0;

  for (char c : str) {

    int digit = c - '0';

    sum += pow(digit, n);

  }

  return sum == number;

}

然后,我们将编写一个函数来输出所有的水仙花数。该函数将从1到1000的所有整数中循环检查是否为水仙花数,并将结果输出到屏幕上。

void printArmstrongNumbers() {

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

    if (isArmstrong(i))

      std::cout << i << std::endl;

  }

}

最后,我们将在主函数中调用printArmstrongNumbers函数来执行程序。

int main() {

  printArmstrongNumbers();

  return 0;

}

执行此程序后,输出将显示所有从1到1000的水仙花数。这是一种基本的C++编程技巧,可以轻松输出各种数字和计算结果。

  
  

评论区

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