写在前面:小生纯业余选手,开此博仅仅是为了积累,纯当笔记来用。如有看官光临小生博客,请不要相信我的代码就是正确的。如果您发现了错误也恳请耽误您一点时间,请您在下面指出来,不胜感激!
2055 完全数(Perfect number),又称完美数或完备数,是一些特殊的自然数。它所有的真因子(即除了自身以外的约数)的和(即因子函数),恰好等于它本身。如果一个数恰好等于它的因子之和,则称该数为“完全数
#include "stdafx.h"
#include<iostream>
using namespace std;
bool isPefect(int n)
{
int sum = 0;
for(int i = 1;i < n/2+1;i++)
{
if(n%i == 0)
{
sum += i;
}
}
if(sum == n)
{
return true;
}
else
{
return false;
}
}
int countPefect(int n)
{
int count = 0;
for(int i = 3;i <= n;i++)
{
if(isPefect(i))
{
count++;
}
}
return count;
}
int _tmain(int argc, _TCHAR* argv[])
{
int n = 0;
cin>>n;
cout<<countPefect(n)<<endl;
return 0;
}