File tree Expand file tree Collapse file tree 1 file changed +57
-0
lines changed Expand file tree Collapse file tree 1 file changed +57
-0
lines changed Original file line number Diff line number Diff line change
1
+ #include < bits/stdc++.h>
2
+ using namespace std ;
3
+
4
+ const int mx = 1e9 + 10 ;
5
+ vector<int > primes;
6
+
7
+ void gen () {
8
+ primes.push_back (2 );
9
+ for (int p = 3 ; p * p <= mx; p += 2 ) {
10
+ int i = 2 ;
11
+ int f = true ;
12
+ while (i * i <= p) {
13
+ if (p % i == 0 ) {
14
+ f = false ;
15
+ break ;
16
+ }
17
+ i ++;
18
+ }
19
+
20
+ if (f) primes.push_back (p);
21
+ }
22
+ }
23
+
24
+ bool isPrime (int x) {
25
+ if (x == 2 ) return true ;
26
+
27
+ int i = 0 ;
28
+ while (i < primes.size () && primes[i] * primes[i] <= x) {
29
+ if (x % primes[i] == 0 ) return false ;
30
+ i ++;
31
+ }
32
+ return true ;
33
+ }
34
+
35
+ int main () {
36
+ gen ();
37
+ int t;
38
+ scanf (" %d" , &t);
39
+
40
+ int n, m;
41
+ while (t --> 0 ) {
42
+ scanf (" %d %d" , &n, &m);
43
+
44
+ if (n <= 2 ) {
45
+ printf (" 2\n " );
46
+ n = 3 ;
47
+ }
48
+
49
+ if (n % 2 == 0 ) n ++;
50
+ for (int i = n; i <= m; i += 2 ) {
51
+ if (isPrime (i)) printf (" %d\n " , i);
52
+ }
53
+ printf (" \n " );
54
+ }
55
+
56
+ return 0 ;
57
+ }
You can’t perform that action at this time.
0 commit comments