21xrx.com
2025-06-21 23:49:21 Saturday
文章检索 我的文章 写文章
C++代码实现水仙花数的for和while循环
2023-07-05 04:45:53 深夜i     66     0
C++ 水仙花数 for循环 while循环

水仙花数是指三位数中各位数字的立方和等于该数本身的数。例如,153就是一个水仙花数,因为1^3+5^3+3^3=153。C++语言提供了for循环和while循环两种方式来实现水仙花数的计算。

1. for循环实现:

#include <iostream>
using namespace std;
int main()
{
  for(int i=100;i<=999;i++)
  {
    int a=i/100; //获取百位数
    int b=(i%100)/10; //获取十位数
    int c=i%10; //获取个位数
    if(i==a*a*a+b*b*b+c*c*c)
    
      cout<<i<<endl;
    
  }
  return 0;
}

以上代码中,for循环的初始条件是i=100,终止条件是i<=999,每次循环i加1。在循环体内,首先分别获取百位数、十位数和个位数,并计算出它们的立方和。如果立方和等于该数本身,就输出该数。

2. while循环实现:

#include <iostream>
using namespace std;
int main()
{
  int i=100;
  while(i<=999)
  {
    int a=i/100; //获取百位数
    int b=(i%100)/10; //获取十位数
    int c=i%10; //获取个位数
    if(i==a*a*a+b*b*b+c*c*c)
    
      cout<<i<<endl;
    
    i++; //循环变量加1
  }
  return 0;
}

在上面的代码中,while循环的初始条件是i=100,循环条件是i<=999。在循环体内,先分别获取百位数、十位数和个位数,并计算出它们的立方和。如果立方和等于该数本身,就输出该数。然后将循环变量i加1,进入下一个循环。

无论是for循环还是while循环,都可以很方便地实现水仙花数的计算。这里只是提供了一种可能的解决方案,读者可以根据自己的思路进行修改和优化。

  
  

评论区