标签:
题目链接:http://acm.swust.edu.cn/problem/0217/
2
2 6
20 200
|
6
180
|
1 #include <stdio.h> 2 using namespace std; 3 int dp[1000010]; 4 void init(){ 5 for (int i = 1; i*i <= 1000000; i++){ 6 dp[i*i] += 1; 7 for (int j = i + 1; i*j <= 1000000; j++){ 8 dp[i*j] += 2; 9 } 10 } 11 } 12 int main() 13 { 14 init(); 15 int t, l, r; 16 scanf("%d", &t); 17 while (t--){ 18 scanf("%d%d", &l, &r); 19 int ans = l; 20 for (int i = l; i <= r; i++){ 21 if (dp[i] > dp[ans]) 22 ans = i; 23 } 24 printf("%d\n", ans); 25 } 26 return 0; 27 }
[Swust OJ 217]--Factor(数论,类素数表)
标签:
原文地址:http://www.cnblogs.com/zyxStar/p/4582230.html