21xrx.com
2024-06-03 07:16:05 Monday
登录
文章检索 我的文章 写文章
C++程序:输出三位数的所有水仙花数
2023-07-12 11:56:02 深夜i     --     --
C++ 输出 三位数 水仙花数

水仙花数是指一个三位数,其各个位上的数字立方和等于这个数本身。例如,153是一个水仙花数,因为1³+5³+3³=153。如何用C++编写一个程序来输出所有的三位数水仙花数呢?

首先,我们需要定义一个函数来判断一个数是否为水仙花数。该函数需要接受一个整数作为参数,然后将该数的每个数字的立方加起来,如果结果等于该数本身,则返回true;否则返回false。

接下来,在main函数中,我们需要循环遍历所有的三位数(即从100到999),对于每个数,调用判断函数,并打印出所有的返回true的数。下面是完整的程序代码:


#include <iostream>

using namespace std;

bool isNarcissisticNumber(int num) {

  int sum = 0;

  int n = num;

  while (n > 0) {

    int digit = n % 10;

    sum += digit * digit * digit;

    n /= 10;

  }

  return num == sum;

}

int main() {

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

    if (isNarcissisticNumber(i))

      cout << i << endl;

    

  }

  return 0;

}

运行程序后,你会发现它输出了以下所有的水仙花数:

153

370

371

407

上述程序中,我们首先定义了一个函数isNarcissisticNumber来判断一个数是否为水仙花数。该函数使用while循环来依次计算每个数字的立方和,然后返回计算结果是否等于该数本身。

在main函数中,我们使用for循环遍历所有的三位数(即从100到999),每次调用isNarcissisticNumber函数来判断该数是否为水仙花数。如果是,就打印出该数。最后程序退出。

  
  

评论区

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