21xrx.com
2024-11-10 00:41:20 Sunday
登录
文章检索 我的文章 写文章
C++程序实现水仙花数的求解
2023-07-06 20:29:20 深夜i     --     --
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是水仙花数

  
  

评论区

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