21xrx.com
2024-12-27 12:57:25 Friday
登录
文章检索 我的文章 写文章
C++实现水仙花数的算法
2023-07-02 00:55:10 深夜i     --     --
C++ 水仙花数 算法

水仙花数是指一个3位数,其各位数字的立方和等于该数本身。例如,153是一个水仙花数,因为$1^3+5^3+3^3=153$。本文将介绍如何使用C++实现水仙花数的算法。

首先,我们需要明确水仙花数的范围,即3位数。我们可以使用for循环来遍历所有3位数,并判断它是否为水仙花数。代码如下:


for(int i=100;i<1000;i++)

  //判断i是否为水仙花数

接着,我们需要分离出i的个位、十位和百位。使用除法和取模运算即可实现。代码如下:


int a=i/100; //得到百位

int b=(i/10)%10; //得到十位

int c=i%10; //得到个位

接下来,我们就可以根据水仙花数的定义来判断i是否为水仙花数了。如果是,就输出i。完整代码如下:


#include<iostream>

using namespace std;

int main(){

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

    int a=i/100; //得到百位

    int b=(i/10)%10; //得到十位

    int c=i%10; //得到个位

    if(a*a*a+b*b*b+c*c*c==i) //判断是否为水仙花数

      cout<<i<<endl; //输出水仙花数

    

  }

  return 0;

}

这样,我们就成功地使用C++实现了水仙花数的算法。但需要注意的是,这只是其中一种实现方法,还有一些其他的实现方法,如使用递归等。

  
  

评论区

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