21xrx.com
2024-12-27 14:01:40 Friday
登录
文章检索 我的文章 写文章
C++语言程序实现水仙花数
2023-07-02 11:27:20 深夜i     --     --
C++语言 程序实现 水仙花数

水仙花数是指一个三位数的每个数字的立方和等于该数本身。比如说,371就是一个水仙花数,因为$3^3+7^3+1^3=371$。而C++语言可以很容易地实现水仙花数的判断和输出。

首先,我们需要定义一个函数来判断一个数是否是水仙花数。这个函数接受一个整数参数,返回一个布尔值(true或false)来表示该参数是否为水仙花数。代码如下:


bool isNarcissisticNumber(int n)

{

  int sum = 0;

  int temp = n;

  while (temp != 0)

  {

    int digit = temp % 10;

    sum += digit * digit * digit;

    temp /= 10;

  }

  return sum == n;

}

这个函数的实现很简单,就是通过循环将每个数字的立方加起来,并判断和是否与原数相等。如果相等就说明该数是水仙花数,返回true,否则返回false。

现在我们可以写一个main函数来测试这个函数,并输出所有的三位水仙花数。代码如下:


#include <iostream>

using namespace std;

bool isNarcissisticNumber(int n);

int main()

{

  for (int i = 100; i <= 999; i++)

  {

    if (isNarcissisticNumber(i))

    

      cout << i << " ";

    

  }

  cout << endl;

  return 0;

}

这个main函数就是从100到999枚举所有的三位数,判断它们是否为水仙花数,如果是就输出。最后再输出一个换行符,以防止输出错位。

现在我们可以编译运行这个程序,看看它的输出结果。如果一切正常,运行结果应该如下:


153 370 371 407

这四个数字就是所有的三位水仙花数了。通过这个例子,我们可以看到C++语言非常适合实现这种简单的计算问题,而且代码量很少,非常易于理解和修改。如果您对C++不熟悉,建议多写类似的小程序来练习,提高自己的编程能力。

  
  

评论区

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