21xrx.com
2024-12-22 23:27:03 Sunday
登录
文章检索 我的文章 写文章
C++代码实现判断水仙花数
2023-07-05 13:15:24 深夜i     --     --
C++ 水仙花数 判断

水仙花数是指一个三位数各个位上数字的立方和等于该数本身的数,比如153就是一个水仙花数,因为1³+5³+3³=153。今天我们就来学习一下如何用C++代码实现判断水仙花数。

首先,我们需要使用三个变量来表示三位数的百位、十位、个位数字。可以用取余运算得到这些数字,代码如下:


int b = num / 100; // 取得百位数字

int s = num / 10 % 10; // 取得十位数字

int g = num % 10; // 取得个位数字

然后,我们需要计算这些数字的立方和,可以用循环语句来实现,代码如下:


int sum = 0; // 立方和

for(int i = 1; i <= 3; i++){

  int temp = 1;

  if(i == 1) temp = b; // 百位数字的立方

  else if(i == 2) temp = s; // 十位数字的立方

  else temp = g; // 个位数字的立方

  sum += temp * temp * temp;

}

最后,我们只需要判断立方和是否等于原数即可,代码如下:


if(sum == num)

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

else

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

完整代码如下:


#include <iostream>

using namespace std;

int main(){

  int num;

  cout << "请输入一个三位数:";

  cin >> num;

  int b = num / 100; // 取得百位数字

  int s = num / 10 % 10; // 取得十位数字

  int g = num % 10; // 取得个位数字

  int sum = 0; // 立方和

  for(int i = 1; i <= 3; i++){

    int temp = 1;

    if(i == 1) temp = b; // 百位数字的立方

    else if(i == 2) temp = s; // 十位数字的立方

    else temp = g; // 个位数字的立方

    sum += temp * temp * temp;

  }

  if(sum == num)

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

  

  else

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

  

  return 0;

}

以上就是C++代码实现判断水仙花数的方法,大家可以根据代码体验一下这个有趣的数学问题。

  
  

评论区

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