21xrx.com
2024-09-20 05:57:44 Friday
登录
文章检索 我的文章 写文章
C++求解100以内的完全数
2023-07-03 04:36:46 深夜i     --     --
C++ 求解 完全数 100内

完全数是一种特殊的数字,它的所有因数(除了它本身)相加等于它本身。举个例子,6就是一个完全数,因为6的因数为1、2、3,而1+2+3=6。在本文中,我们将使用C++语言来求解100以内的完全数。

首先,我们需要从1开始遍历到100,对于每一个数字,我们需要计算它的因数之和,如果等于它本身就是一个完全数。为了计算因数之和,我们需要在遍历数字的过程中,再次循环从1开始到这个数字的一半,对于能够被当前数字整除的数累加到结果中。

下面是代码实现:


#include <iostream>

using namespace std;

int main()

{

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

  {

    int sum=0;

    for(int j=1; j<=i/2; j++)

    {

      if(i%j==0)

      {

        sum+=j;

      }

    }

    if(sum==i)

    

      cout<<i<<" ";

    

  }

  return 0;

}

在上面的代码中,我们使用两个for循环来遍历所有数字和它们的因数。第一个循环从1到100,第二个循环从1到当前数字的一半。我们使用if语句判断当前循环变量是否是当前数字的因数,如果是则累加到结果中。最后,我们使用if语句判断结果是否等于当前数字,如果是则输出这个数字。

在运行上面的代码之后,输出应该如下:


6 28

这就是100以内的所有完全数。

总结来说,使用C++语言求解100以内的完全数,需要用到双重循环来分别遍历所有数字和它们的因数,并使用if语句来判断是否是完全数。这是一个简单而有趣的算法,对于学习C++语言以及算法思维都有很好的帮助。

  
  

评论区

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