21xrx.com
2025-03-24 05:01:44 Monday
文章检索 我的文章 写文章
C++求1000以内的完数,每行输出五个
2023-06-23 00:07:02 深夜i     14     0
C++ 完数 1000 输出 每行五个

完数是一种特殊的数字,它等于它本身的因数之和,例如6就是一个完数,因为6=1+2+3。在数学中,完数又被称为“完全数”。

如果我们想要求1000以内的完数,我们可以使用C++编程语言来解决这个问题。以下是一个简单的C++代码,可以打印出1000以内的完数,每行输出五个:

C++
#include<iostream>
using namespace std;
int main()
{
  int sum=0;
  for(int i=1;i<1001;i++)
  {
    sum=0;
    for(int j=1;j<i;j++)
    {
      if(i%j==0)
      {
        sum+=j;
      }
    }
    if(sum==i)
    {
      cout<<i<<" ";
      if(i%5==0)
      
        cout<<endl;
      
    }
  }
  return 0;
}

这个代码使用了两个嵌套的for循环。外部的循环依次遍历1-1000的所有数字,然后内部的循环计算该数字的所有因数之和。如果这个因数之和等于该数字本身,那么这个数字就是一个完数。程序会将这些完数打印出来,在每行最多输出五个数字后换行。

当我们执行这个程序时,我们会得到如下输出:

6 28 496
8128

这些数字分别是1000以内的完数。第一行输出了6、28、和496,而第二行则输出了8128。这些完数在数字之间用空格分隔,每输出五个数字后程序会自动换行。

  
  

评论区