21xrx.com
2024-11-05 17:26:52 Tuesday
登录
文章检索 我的文章 写文章
使用C++输出水仙花数及其乘法过程。
2023-07-05 08:28:07 深夜i     --     --
C++ 水仙花数 乘法过程

水仙花数是指一个n位数(n≥3),其每个位上数字的n次幂之和等于该数本身。例如:153是一个水仙花数(153=1³+5³+3³),371也是一个水仙花数(371=3³+7³+1³)。

在C++中,可以通过一个循环语句和一些判断语句来实现输出水仙花数及其乘法过程的功能。下面是一个简单的实现代码:

#include

using namespace std;

int main()

{

  int n, i, j, sum;

  cout << "请输入数字位数n:";

  cin >> n;

  cout << "n位水仙花数如下:" << endl;

  for (i = pow(10, n-1); i < pow(10, n); i++)

  {

    sum = 0;

    for (j = i; j > 0; j /= 10)

    {

      sum += pow(j % 10, n);

    }

    if (sum == i)

    {

      cout << i << " = ";

      j = i;

      while (j > 0)

      {

        cout << j % 10 << " * ";

        j /= 10;

      }

      cout << endl;

    }

  }

  return 0;

}

在该程序中,n代表数字的位数,i代表数字,j代表数字的每一位数。首先,通过一个循环语句控制i从10的n-1次方到10的n次方之间的所有数字。在内循环中,每次循环取出i的每一位数,进行n次幂运算并求和,判断这个和是否等于这个数字本身,如果相等则输出这个数字和其乘法过程。

通过这段代码,我们可以轻松输出水仙花数及其乘法过程,进一步了解水仙花数的特性和运算过程。

  
  

评论区

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