题目:
分析:
#include <iostream>
#include <math.h>
using namespace std;
bool IsCom(int num)
{
int sum = 0;
/*for(int i = 1; i<num; i++)
{
if(num % i == 0)
{
sum += i;
}
}*/
for(int i=2;i<sqrt(num);i++)
{
if(num%i==0)
{
if(num/i!=i)
{
sum+=i;
sum+=(num/i);
}
else
{
sum+=i;
}
}
}
if(sum>0)//只有这个数不是1才加
sum+=1;
if(sum == num)
return true;
else
return false;
}
int count(int n)
{
int ret = 0;
for(int i = 1; i<=n; i++)
{
if(IsCom(i))
ret++;
}
return ret;
}
int main()
{
int n = 0;
while(cin>>n)
{
cout<<count(n)<<endl;
}
return 0;
}