用j*j==i 来降低复杂度
#include<stdio.h>
int main(){
int T;
scanf("%d",&T);
while(T--){
int a, b;
scanf("%d %d",&a,&b);
int best=0,num=0,i,j;
for(i =a; i<=b; i++){
int num_i=0;
for(j = 1;j*j<=i ;j++){
if(i%j==0) num_i+=2;
}
if((j-1)*(j-1)==i) num_i--;
if(num_i>num) best=i,num=num_i;
}
printf("Between %d and %d, %d has a maximum of %d divisors.\n",a,b,best,num);
}
return 0;
}