分析:水题,不解释。
#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