codeforces1051B——Relatively Prime Pairs【思維,數學】
B. Relatively Prime Pairs
time limit per test
2 seconds
memory limit per test
256 megabytes
input
standard input
output
standard output
You are given a set of all integers from ll to rr inclusive, l<rl<r, (r−l+1)≤3⋅105(r−l+1)≤3⋅105 and (r−l)(r−l) is always odd.
You want to split these numbers into exactly r−l+12r−l+12 pairs in such a way that for each pair (i,j)(i,j) the greatest common divisor of ii and jj is equal to 11. Each number should appear in exactly one of the pairs.
Print the resulting pairs or output that no solution exists. If there are multiple solutions, print any of them.
Input
The only line contains two integers ll and rr (1≤l<r≤10181≤l<r≤1018, r−l+1≤3⋅105r−l+1≤3⋅105, (r−l)(r−l) is odd).
Output
If any solution exists, print "YES" in the first line. Each of the next r−l+12r−l+12 lines should contain some pair of integers. GCD of numbers in each pair should be equal to 11. All (r−l+1)(r−l+1) numbers should be pairwise distinct and should have values from ll to rr inclusive.
If there are multiple solutions, print any of them.
If there exists no solution, print "NO".
Example
input
Copy
1 8
output
Copy
YES 2 7 4 1 3 8 6 5
問在區間【R,L】內有多少對數互為質數。
一個數和他相鄰的數一定是互為質數,列舉即可。
#include <bits/stdc++.h>
using namespace std;
int main(){
long long l,r;
while(~scanf("%lld %lld",&l,&r)){
cout << "YES" << endl;
for(;l < r; l += 2){
cout << l << " " << l + 1 << endl;
}
}
return 0;
}