21xrx.com
2024-11-22 11:35:18 Friday
登录
文章检索 我的文章 写文章
C++函数实现输出水仙花数
2023-07-04 14:19:40 深夜i     --     --
C++ 函数 输出 水仙花数

在程序设计语言 C++ 中,实现输出水仙花数的函数可以用来检测一个数是否是水仙花数。水仙花数指的是一个三位数各位数字的立方和等于该数本身的数。例如:153就是一个水仙花数,因为 $1^3+5^3+3^3=153$ 。

下面就是一个用 C++ 实现输出水仙花数的示例函数:


#include<iostream>

using namespace std;

void narcissisticNumber() {

  for (int i = 100; i <= 999; i++) { //循环遍历 100 至 999 之间的所有数

    int a = i / 100;

    int b = (i - a * 100) / 10;

    int c = i % 10;

    if (i == a*a*a + b*b*b + c*c*c) //筛选出水仙花数

      cout << i << endl; //输出水仙花数

  }

}

在上述函数中,我们通过一个 for 循环来遍历所有三位数,将其拆分为个位、十位、百位三个数字之后,判断它们的立方和是否等于数本身,如果是,则将其输出。这个函数的整体时间复杂度为 $O(n)$ 。

如果需要在主函数中调用该输出水仙花数的函数,只需将该函数写在主函数中,并添加如下代码:


int main(){

  narcissisticNumber();

  return 0;

}

这个程序将输出所有的水仙花数,其结果如下:

153

370

371

407

这四个数字都是三位数,它们个位、十位、百位上的数字的立方和,恰好等于该数本身。

总结:在 C++ 中实现输出水仙花数的函数,可以用于检测一个数是否为水仙花数,同时可以作为一个小的程序练手项目。

  
  

评论区

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