21xrx.com
2024-12-23 00:08:11 Monday
登录
文章检索 我的文章 写文章
C++语言编写判断水仙花数的程序
2023-07-05 11:44:47 深夜i     --     --
C++ 水仙花数 编程 循环 算法

水仙花数是指一个三位数,其各位数字的立方和等于该数本身。比如153就是一个水仙花数,因为1的立方+5的立方+3的立方=1+125+27=153。现在我们可以使用C++语言编写一个简单的程序来判断一个三位数是否为水仙花数。

首先,我们需要定义一个函数来计算一个三位数的各位数字的立方和。这个函数可以使用一个 while 循环来实现。我们先将该数字按位提取,并保存在一个数组中。然后我们就可以逐一计算各个数字的立方和。


int cube_sum(int num) {

  int digits[3];

  int sum = 0;

  for (int i = 0; i < 3; i++) {

    digits[i] = num % 10;

    num /= 10;

  }

  for (int i = 0; i < 3; i++) {

    sum += pow(digits[i], 3);

  }

  return sum;

}

然后我们就可以编写一个主函数来调用这个计算立方和的函数,并输出判断结果。我们可以使用一个 for 循环来遍历所有的三位数,然后调用 cube_sum 函数来判断是否为水仙花数。


int main() {

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

    if (cube_sum(i) == i)

      cout << i << " is a narcissistic number." << endl;

    

  }

  return 0;

}

通过这个程序,我们就可以输出所有的三位数中的水仙花数了。当然,我们还可以进行一些优化,比如将计算立方和的函数改为一个 inline 函数,或者使用更高效的算法来进行计算等等。

总之,使用C++语言编写一个判断水仙花数的程序是非常简单的,只需要定义一个计算立方和的函数,并在主函数中调用即可。这个程序不仅可以用来验证三位数是否为水仙花数,还可以用来练习C++语言的编写和调试技巧。

  
  

评论区

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