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;
}