题意:输入两个整数L,U(1<=L,U<=1e9,U-L<=10000),统计区间[L,U]的整数中那一个的正约数最多,如果有多个,输出最小值
#include <bits/stdc++.h>
#define ll long long
#define ull unsigned long long
#define INF 0x3f3f3f3f
#define mod 1000000007;
using namespace std;
// freopen("in.txt","r",stdin);
// freopen("out.txt","w",stdout);
const int maxn = 100 + 2;
int main()
{
int T; scanf("%d",&T);
while(T--)
{
int L,U; scanf("%d%d",&L,&U);
int id,mmax = -1;
for(int i = L;i <= U;i++)
{
int num = 0;
for(int j = 1;j <= sqrt(i);j++)
{
if(i % j == 0)
{
num++;
if(i / j != j) num++;
}
}
if(num > mmax)
{
id = i;
mmax = num;
}
}
printf("Between %d and %d, %d has a maximum of %d divisors.\n",L,U,id,mmax);
}
return 0;
}