21xrx.com
2025-04-12 09:25:32 Saturday
文章检索 我的文章 写文章
C++程序实现水仙花数的求解
2023-07-06 20:29:20 深夜i     16     0
C++ 水仙花数 求解

水仙花数是指一个三位数(100-999),其各位数字立方和等于其本身。例如153是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。本文将介绍如何使用C++编程语言来实现求解水仙花数的功能。

首先,我们需要定义三个变量来表示百位、十位、个位上的数字。我们可以使用循环语句来枚举100到999之间的所有三位数:

for (int i = 100; i <= 999; i++) {
  int b = i / 100; // 百位上的数字
  int s = (i / 10) % 10; // 十位上的数字
  int g = i % 10; // 个位上的数字
}

接着,我们需要计算这个三位数对应的各位数字的立方和:

int sum = b * b * b + s * s * s + g * g * g;

最后,我们只需要判断这个三位数是否为水仙花数,即判断其立方和是否等于本身,如果是,那么就输出这个数:

if (i == sum)
  cout << i << "是水仙花数" << endl;

使用上述代码,即可实现水仙花数的求解功能。完整代码如下:

#include <iostream>
using namespace std;
int main() {
  for (int i = 100; i <= 999; i++) {
    int b = i / 100; // 百位上的数字
    int s = (i / 10) % 10; // 十位上的数字
    int g = i % 10; // 个位上的数字
    int sum = b * b * b + s * s * s + g * g * g; // 各位数字的立方和
    if (i == sum)
      cout << i << "是水仙花数" << endl;
    
  }
  return 0;
}

运行结果如下:

153是水仙花数
370是水仙花数
371是水仙花数
407是水仙花数

  
  

评论区

请求出错了