21xrx.com
2024-12-22 21:13:33 Sunday
登录
文章检索 我的文章 写文章
C++程序:使用while循环计算水仙花数
2023-07-07 06:38:30 深夜i     --     --
C++ while循环 水仙花数 计算

在计算机编程中,计算水仙花数是一个经典的问题,其实现方式也有很多种。在C++中,通过while循环实现计算水仙花数是较为常见的方法之一。

水仙花数指的是一个三位数,其各个位数的立方和等于其本身。例如,153就是一个水仙花数,因为1的立方+5的立方+3的立方=153。

下面是一个使用while循环计算水仙花数的C++程序:


#include <iostream>

using namespace std;

int main() {

  int num = 100; // 定义变量num从100开始循环

  int x, y, z; // 定义三个变量分别表示三位数的百位、十位、个位数

  while(num < 1000) {

    x = num / 100;

    y = (num - x*100) / 10;

    z = num % 10;

    if(num == x*x*x + y*y*y + z*z*z) // 判断是否为水仙花数

      cout << num << "是水仙花数" << endl;

    

    num++; // 变量num自增,继续循环判断下一个数

  }

  return 0;

}

该程序使用了while循环结构,变量num从100开始,每次自增1,直到循环到999为止。每轮循环中,通过数学运算获取num的百位、十位和个位数,并判断其是否是水仙花数。如果是,输出结果。这样就可以得到所有三位数中的水仙花数了。

需要注意的是,在使用C++编写程序计算水仙花数时,应该注意数据类型的选择,以避免数据溢出的问题。例如,使用int类型变量来表示三位数是完全没问题的,但如果选用short类型变量则难以保证程序正确性。

  
  
下一篇: C++推荐读物

评论区

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