21xrx.com
2024-12-27 16:42:08 Friday
登录
文章检索 我的文章 写文章
求解1000以内的水仙花数:C++编程
2023-07-11 03:57:23 深夜i     --     --
水仙花数 1000以内 C++编程 求解 算法

水仙花数,也称为超完全数字不变数,是指一个 n 位数 (n≥3),其各位数字的 n 次方和恰好等于该数本身。例如,153是一个水仙花数,因为 1^3 + 5^3 + 3^3 = 153。

在计算机编程领域中,可以通过编写代码来求解一定范围内的水仙花数。在本文中,我们将使用C++编程语言来求解1000以内的水仙花数。

我们首先需要了解C++中的循环语句和数学运算符。C++中的循环语句有for、while和do-while,其中for循环非常适合循环一个确定的次数。数学运算符包括指数运算符(^)和求余运算符(%)。

接下来,我们可以开始编写C++代码。我们将使用for循环来循环1000以内的所有数字,然后判断每个数字是否为水仙花数。具体实现方法如下:


#include <iostream>

using namespace std;

int main() {

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

    int sum = 0;

    int temp = i;

    while (temp > 0) {

      int digit = temp % 10;

      sum += digit * digit * digit;

      temp /= 10;

    }

    if (sum == i)

      cout << i << "是水仙花数" << endl;

    

  }

  return 0;

}

上述代码中,我们使用for循环来循环100到999之间的所有数字,即1000以内的所有三位数。对于每个数字,我们将其拆分为各位数字并计算各位数字的立方和,同时使用if语句来判断当前数字是否为水仙花数。

运行上述代码,我们可以得到1000以内的所有水仙花数,它们分别是:

153是水仙花数

370是水仙花数

371是水仙花数

407是水仙花数

通过编写上述代码,我们可以求解1000以内的水仙花数。此外,我们还可以根据需要调整代码来求解其他范围内的水仙花数,提高程序的复用性。

  
  

评论区

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