21xrx.com
2025-03-27 16:59:57 Thursday
文章检索 我的文章 写文章
C++代码:输出1000以内的完数
2023-07-04 22:37:34 深夜i     30     0
C++ 输出 完数 1000以内

完数(Perfect number)是指一个正整数等于除它本身之外的所有正因子之和的数,例如6就是一个完数,因为6除了1和6之外,其余的因子为1、2、3,它们的和正好等于6。

为了输出1000以内的所有完数,我们可以编写一段简单的C++代码。其中主要思路是循环遍历1到1000中的每一个数,并且对于每个数,计算其所有因子之和,如果这个和等于这个数本身,那么就说明这个数是一个完数。下面是完整的代码:

#include <iostream>
using namespace std;
int main()
{
  int i, j, sum;
  for (i = 1; i <= 1000; i++)
  {
    sum = 0;
    // 计算i的因子之和
    for (j = 1; j < i; j++)
    {
      if (i % j == 0)
      {
        sum += j;
      }
    }
    // 判断i是否为完数
    if (sum == i)
    
      cout << i << "是一个完数" << endl;
    
  }
  return 0;
}

我们定义了两个循环,外层循环遍历1到1000中的每一个数,内层循环计算这个数的所有因子之和,最后判断这个因子之和是否等于这个数本身。如果它们相等,那么这个数就是一个完数,我们输出它即可。

执行上述代码,我们可以得到所有1000以内的完数,它们分别是6、28、496。这个结果是正确的,因为这三个数都满足完数的定义。

在实际编写程序时,还需要特别注意一些细节。例如,我们定义的两个循环中的变量需要根据具体情况进行选择,而计算因子之和时需要特别注意不要把自身计算在内。这些问题都需要经过仔细的思考和测试才能够得到正确的结果。

综上所述,C++代码可以非常简单地输出1000以内的完数,这为我们理解完数的概念提供了一个非常好的实践机会。同时,这些代码也可以帮助我们掌握C++中循环和条件语句的使用方法,为更复杂的编程任务打下基础。

  
  
下一篇: C++计算平方根

评论区