早教吧 育儿知识 作业答案 考试题库 百科 知识分享

求大神用C++编译一段程序,本人表示被这题困扰很久了、非常感谢!一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如,6的因子为1,2,3,而6=1+2+3,因此,6是“完数”。编

题目详情
求大神用C++编译一段程序,本人表示被这题困扰很久了、非常感谢!
一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如,6的因子为1,2,3,而6=1+2+3,因此,6是“完数”。编程序找出1000之内的所有完数。
▼优质解答
答案和解析
#include
#include
using namespace std;
bool WanShu(int );
int main()
{
for (int i = 1; i <= 1000; i++)
{
if (WanShu(i))
{
cout << setw(7) << i ;
}
}
return 0;
}
bool WanShu(int f)
{
int m = 0;
for (int i = 1; i < f/2+1; i++)
{
if (f%i == 0)
{
m += i;
}
}
if (m == f)
{
return true;
}

return false;
}
你看看吧,应该没有问题。