求大神帮忙看看
如果一个整数的因子之和等于它自己,那么我们说这个数字是完形填空数。例如,6 = 1 + 2 + 3和28 = 1 + 2 + 4 + 7 + 14,因此6和28都是完形填空数。现在,您的任务是找到num1和num2之间有多少个完形填空数字(1 <num1,num2 <10000)。输入包含许多测试用例。第一行是整数N,表示有n个测试用例。接下来的n行中的每一行都具有两个整数num1和num2。
输入 2
输入2 5
输出0
输入5 7
输出1
以下是我的代码
#include<stdio.h>
int main()
{
int a,b,c,m,n,i,j,k,s;
while(scanf("%d",&a)!=EOF)
{
for(i=1;i<=a;i++)
{
c=0;
scanf("%d %d",&m,&n);
for(j=m;j<=n;j++)
{
s=0;
for(k=2;k<=j/2;k++)
{if(j%k==0)s=s+k;}
if(j==s)c++;
}
printf("%d\n",c);
}
}
return 0;
}
我每次输出的结果为0
求大神指点,谢谢