21xrx.com
2024-11-22 06:41:03 Friday
登录
文章检索 我的文章 写文章
C++代码:输出1000以内的完数
2023-07-04 22:37:34 深夜i     --     --
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++计算平方根

评论区

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