21xrx.com
2024-11-05 19:29:51 Tuesday
登录
文章检索 我的文章 写文章
C++ for循环和while循环实现水仙花数的代码
2023-07-08 11:00:26 深夜i     --     --
C++ for循环 while循环 水仙花数 代码

水仙花数是指一个n位正整数(n≥3),它的每个位上的数字的n次幂之和等于它本身。例如153,3的3次方加5的3次方加1的3次方等于153。在计算机语言中,我们可以使用for循环和while循环来实现水仙花数的代码。

C++ for循环实现水仙花数的代码:


#include <iostream>

using namespace std;

int main()

{

  int num, i, count, sum;

  cout << "请输入一个正整数:";

  cin >> num;

  for(i = 1; i <= num; i++)

  {

    count = i;

    sum = 0;

    while(count != 0)

    {

      sum = sum + pow(count % 10, 3);

      count = count / 10;

    }

    if(sum == i)

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

  }

  return 0;

}

该代码中,我们首先让用户输入一个正整数,然后使用for循环从1到输入的数值进行遍历。在循环中,我们将当前的数值设为count,然后用while循环计算每个位上的数字的3次幂之和,最后与原数值i进行比较。如果相等,就输出当前值是水仙花数。

C++ while循环实现水仙花数的代码:


#include <iostream>

using namespace std;

int main()

{

  int num, i, count, sum;

  cout << "请输入一个正整数:";

  cin >> num;

  i = 1;

  while(i <= num)

  {

    count = i;

    sum = 0;

    while(count != 0)

    {

      sum = sum + pow(count % 10, 3);

      count = count / 10;

    }

    if(sum == i)

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

    i++;

  }

  return 0;

}

该代码中,我们同样让用户输入一个正整数,但是使用while循环来进行遍历。在循环中,我们同样将当前的数值设为count,然后用while循环计算每个位上的数字的3次幂之和,最后与原数值i进行比较。如果相等,就输出当前值是水仙花数。与for循环不同的是,我们需要手动增加循环变量i的值来进行下一次循环。

无论是使用for循环还是while循环,这两段代码都可以实现水仙花数的计算。使用循环语句可以让程序自动遍历多个数值并计算每个数值的水仙花数,从而提高程序的效率和自动化程度。

  
  

评论区

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