21xrx.com
2024-12-22 21:21:30 Sunday
登录
文章检索 我的文章 写文章
如何在C++中输出水仙花数
2023-07-11 21:23:58 深夜i     --     --
C++ 输出 水仙花数

水仙花数是指一个三位数,其每位数字的立方和正好等于该数本身。例如,153就是一个水仙花数,因为1³ + 5³ + 3³ = 153。在C++中,我们可以使用循环和条件语句来输出所有的水仙花数。

首先,我们需要使用for循环遍历所有三位数,从100开始,到999结束:


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

 //TODO: check if i is a narcissistic number

在循环中,我们需要判断当前的数字是否为水仙花数。为了判断一个数是否为水仙花数,我们需要将其每一位数字分别取出来,并计算每一位数字的立方和。我们可以使用取余和除法操作来分别取出每一位数字:


int a = i / 100; //百位数字

int b = (i / 10) % 10; //十位数字

int c = i % 10; //个位数字

然后,我们可以使用if语句来判断当前的数字是否为水仙花数:


if (a*a*a + b*b*b + c*c*c == i)

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

完整的代码如下:


#include <iostream>

using namespace std;

int main() {

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

  int a = i / 100; //百位数字

  int b = (i / 10) % 10; //十位数字

  int c = i % 10; //个位数字

  if (a*a*a + b*b*b + c*c*c == i)

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

  

 }

 return 0;

}

运行代码后,会输出所有的水仙花数,如下所示:


153 is a narcissistic number

370 is a narcissistic number

371 is a narcissistic number

407 is a narcissistic number

  
  

评论区

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