c++中输出1000内完数(即等于本身因子之和的数,如6=1+2+3),输出格式:6,its factors are 1,2,3 纠错

#include<iostream>
using namespace std;
int main()
{
int n, i, s=0;
for (n = 6; n <= 1000; n++)
{
for (i = 1; i < n; i++)
{
if (n%i == 0)
s = s + i;
}
if (n == s)
cout << n << "," << "its factors are";
for (i = 1; i < n; i++)
{
if (n%i == 0)
cout << i;
}
cout << endl;
s = 0;
}
}

#include<iostream>

using namespace std;

int main()

{

 int n, i,s=0;

 for (n=6;n<=1000;n++)

 {

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

  {

   if (n%i==0)

    s=s+i;

  }

  if (n==s)

  {

   cout << n << "," << "its factors are ";

  for (i=1; i < n;i++)//这个循环要在if语句内

  {

   if(i==1)

    cout<<i;

   else if(n%i==0)

    cout<<','<<i;

  }

  cout<<endl;

  }

  s=0;

 }

}

温馨提示:答案为网友推荐,仅供参考
相似回答