http://acm.hdu.edu.cn/showproblem.php?pid=1406
需要注意的地方:num1和num2的大小关系不确定。
View Code
#include"iostream"
using namespace std;
int v[10000];
void Init()
{
int i,j;
memset(v,0,sizeof(v));
for(i=2; i<10000; i++)
{
int sum=0;
for(j=1;j<=i/2;j++)
{
if(i%j==0) sum+=j;
}
if(sum==i) { v[i]=1; }
}
}
int main()
{
int t,a,b;
cin>>t;
Init();
while(t--)
{
cin>>a>>b;
int count=0;
if(a>b)
{
int temp=a;
a=b;
b=temp;
}
for(int i=a;i<=b;i++)
{
if(v[i]==1) count++;
}
cout<<count<<endl;
}
return 0;
}