Contents
  1. 1. 题目大意:

题目大意:

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

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

#include <cstdio>
#define MAXN 5000
int sum[MAXN];
int main()
{

int T, a, b;
scanf("%d", &T);
for(int i = 2; i <= MAXN; i++)
sum[i] = 2; //每个数都可以被自己和1整除
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("%d\n", index);
}
return 0;
}
Contents
  1. 1. 题目大意: