分析:水题,不解释。
#include<iostream>
using namespace std;
int cnt[6000];
void init() //打表
{
int i,j;
memset(cnt,0,sizeof(cnt));
cnt[1]=1; //1只有他本身
for(i=2;i<=5005;i++)
{
cnt[i]+=2; //1和他本身
for(j=2;j<=i/2;j++)
if(i%j==0) cnt[i]++;
}
}
int main()
{
int T,a,b,i,max,si;
cin>>T;
init();
while(T--)
{
max=0;
cin>>a>>b;
for(i=a;i<=b;i++)
if(max<cnt[i])
{
si=i;
max=cnt[i];
}
cout<<si<<endl;
}
return 0;
}
原文地址:http://blog.csdn.net/a809146548/article/details/46332201