yusijia’s blog hdu 2521

Contents

题目大意:

找自己可以被多少个不同的数整除

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26


#define MAXN 5000
int sum[MAXN];
int ()
{
int T, a, b;
scanf("%d", &T);
for(int i = 2; i <= MAXN; i++)
sum[i] = 2;
sum[1] = 1;
for(int i = 2; i <= MAXN; i++){
for(int j = i + i; j <= MAXN; j += i)
sum[j]++;
}
while(T--){
scanf("%d%d", &a, &b);
int maxs = sum[a], index = a;
for(int i = a; i <= b; i++)if(maxs < sum[i]){
maxs = sum[i];
index = i;
}
printf("%dn", index);
}
return 0;
}