/***********************
题目大意:找出num1,num2之间的完数个数,完数(如24=1+2+3+4+6+8,6=1+2+3)原题:点击打开链接
题目解析:在num1,num2之间的每个数判断它是否等于它的真约数的和;若是标记flag=1;
*****************/
#include<stdio.h>
#include<math.h>
#include<string.h>
#include<stdlib.h>
int judge(int n)
{
int i,flag=0,s=0;
for(i=1;i<n;i++)
{
if(n%i==0)
s+=i;
}
if(s==n)
//这个数判断它是否等于它的真约数的和;若是标记flag=1;
flag=1;
return flag;
}
int main()
{
int n,num1,num2,count,t,i;
scanf("%d",&n);
while(n--)
{
count=0;
scanf("%d %d",&num1,&num2);
if(num1>num2)
//判断num1和num2的大小,
{
t=num1;
num1=num2;
num2=t;
}
for(i=num1;i<=num2;i++)
{
if(judge(i))
//若是完数则count++
count++;
}
printf("%d\n",count);
}
return 0;
}