int find(int x)//寻找一个数x所有因子的和
{
int j,sum=0;
for(j=1;j<x;j++)
{
if(x%j==0)
{
sum+=j;
}
}
return sum;
}
int main()
{
int n;
scanf("%d",&n);//n组测试用例
int i,x,j;
int sum;
int min,max;
for(i=1;i<=n;i++)
{
scanf("%d %d",&min,&max);
if(min>max)
{
int t=0;
t=min;
min=max;
max=t;
}
int cnt=0;
for(x=min;x<=max;x++)//x是最大最小值之间的每一个数
{
sum=0;//每个x的所有因子之和
sum=find(x);
// for(j=1;j<x;j++)
// {
// if(x%j==0)
// {
// sum+=j;
// }
// }
if(sum==x)
{
cnt++;
if(cnt==1)
{
printf("case %d:%d",i,x);
}
else if(cnt>1)
{
printf(",%d",x);
}
}
}
if(cnt==0)
{
printf("case %d:no complete number in this scope.",i) ;
}
printf("\n");
}
//int sum=0;
//sum=find(100);
//printf("%d\n",sum);
return 0;
}
//很多个循环的嵌套 关键是要想明白换行 初始化应该放在哪个循环开头和结束,也就是每个循环都是干什么的