http://acm.hdu.edu.cn/showproblem.php?pid=2521
题目蒙人,这题和反素数没关系
求一个区间内因子数最多的最小的数
View Code
#include <stdio.h> #include <string.h> int main() { int t,a,b,i,j; int cnt[6000]; int max,si; memset(cnt,0,sizeof(cnt)); cnt[1]=1; for(i=2;i<5001;i++) { for(j=2;j<=i/2;j++) if(i%j==0)cnt[i]++; cnt[i]+=2; } scanf("%d",&t); while(t--) { scanf("%d%d",&a,&b); max=0; for(i=a;i<=b;i++) if(max<cnt[i]) { si=i; max=cnt[i]; } printf("%d\n",si); } return 0; }