21xrx.com
2024-09-20 05:40:04 Friday
登录
文章检索 我的文章 写文章
C++编写水仙花数代码
2023-06-30 04:30:35 深夜i     --     --
C++ 编程 水仙花数代码

水仙花数是指一个n位数(n≥3),它的每个位上的数的n次方之和等于它本身。例如153是一个水仙花数,因为1^3+5^3+3^3=153。

如果想要在C++语言中编写水仙花数代码,可以根据水仙花数的定义来思考算法。首先需要确定数字的位数,然后根据位数来计算每一位的n次方之和,并判断是否等于该数本身。

下面是一个简单的C++代码实现水仙花数:

#include

#include

using namespace std;

int main()

{

  int num, temp, sum = 0, digit = 0;

  cout << "请输入一个三位数:";

  cin >> num;

  temp = num;

  while (temp != 0)

  {

    digit++;

    temp /= 10;

  }

  temp = num;

  while (temp != 0)

  {

    sum += pow((temp % 10), digit);

    temp /= 10;

  }

  if (sum == num)

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

  else

    cout << num << "不是水仙花数" << endl;

  return 0;

}

首先,用户需要输入一个三位数。对于其他位数的数,可以根据需要修改代码。然后,程序将数字的每一位计算n次方之和,并将结果存储在sum变量中。最后,程序判断sum是否等于输入数字本身。如果是,程序输出该数是水仙花数,否则输出该数不是水仙花数。

以上代码中使用了两个while循环和pow()函数。第一个while循环用来计算数字的位数,第二个while循环用来计算每个位数的n次方之和。pow()函数用来计算幂。使用这些函数可以使代码更简洁、易于阅读。

在实际编写代码时,还需要考虑输入数字的有效性和输出格式等问题。除此之外,还需要注意代码风格和注释以便于后期维护和改进。

  
  

评论区

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