309621: CF1708B. Difference of GCDs

Memory Limit:256 MB Time Limit:1 S
Judge Style:Text Compare Creator:
Submit:0 Solved:0

Description

Difference of GCDs

题意翻译

**输入由多个测试数据组成。** 对于每组测试数据,会给你三个整数 $n,l,r$,你需要构造出一个长度为 $n$ 的数组 $a_1,a_2,\dots,a_n(l \leq a_i \leq r)$ 使得 $\gcd(i,a_i)$ 都是不同的。 如果能构造出这样的数组,则在第一行输出 “YES”,并且在下一行输出你所构造的 $a$ 数组,如果有多个满足条件的 $a$ 数组,输出任意一个即可。 如果不能构造出这样的数组,则输出 “NO”。 Translated by \_\_KrNalty\_\_ 2022.7.18

题目描述

You are given three integers $ n $ , $ l $ , and $ r $ . You need to construct an array $ a_1,a_2,\dots,a_n $ ( $ l\le a_i\le r $ ) such that $ \gcd(i,a_i) $ are all distinct or report there's no solution. Here $ \gcd(x, y) $ denotes the [greatest common divisor (GCD)](https://en.wikipedia.org/wiki/Greatest_common_divisor) of integers $ x $ and $ y $ .

输入输出格式

输入格式


The input consists of multiple test cases. The first line contains a single integer $ t $ ( $ 1\le t\le 10^4 $ ) — the number of test cases. The description of the test cases follows. The first line contains three integers $ n $ , $ l $ , $ r $ ( $ 1 \le n \le 10^5 $ , $ 1\le l\le r\le 10^9 $ ). It is guaranteed that the sum of $ n $ over all test cases does not exceed $ 10^5 $ .

输出格式


For each test case, if there is no solution, print "NO" (without quotes). You can print letters in any case (upper or lower). Otherwise, print "YES" (without quotes). In the next line, print $ n $ integers $ a_1,a_2,\ldots,a_n $ — the array you construct. If there are multiple solutions, you may output any.

输入输出样例

输入样例 #1

4
5 1 5
9 1000 2000
10 30 35
1 1000000000 1000000000

输出样例 #1

YES
1 2 3 4 5
YES
1145 1926 1440 1220 1230 1350 1001 1000 1233
NO
YES
1000000000

说明

In the first test case, $ \gcd(1,a_1),\gcd(2,a_2),\ldots,\gcd(5,a_5) $ are equal to $ 1 $ , $ 2 $ , $ 3 $ , $ 4 $ , $ 5 $ , respectively.

Input

题意翻译

**输入由多个测试数据组成。** 对于每组测试数据,会给你三个整数 $n,l,r$,你需要构造出一个长度为 $n$ 的数组 $a_1,a_2,\dots,a_n(l \leq a_i \leq r)$ 使得 $\gcd(i,a_i)$ 都是不同的。 如果能构造出这样的数组,则在第一行输出 “YES”,并且在下一行输出你所构造的 $a$ 数组,如果有多个满足条件的 $a$ 数组,输出任意一个即可。 如果不能构造出这样的数组,则输出 “NO”。 Translated by \_\_KrNalty\_\_ 2022.7.18

Output

**最大公约数的差异**

**题目大意**:
输入包含多个测试数据。对于每组测试数据,给你三个整数 \( n, l, r \),你需要构造一个长度为 \( n \) 的数组 \( a_1, a_2, \dots, a_n \)(\( l \leq a_i \leq r \))使得 \( \gcd(i, a_i) \) 都不相同。如果能构造出这样的数组,则在第一行输出 “YES”,并且在下一行输出你所构造的 \( a \) 数组,如果有多个满足条件的 \( a \) 数组,输出任意一个即可。如果不能构造出这样的数组,则输出 “NO”。

**输入输出格式**:
- **输入格式**:第一行包含一个整数 \( t \)(\( 1 \leq t \leq 10^4 \))——测试案例的数量。接下来是 \( t \) 行,每行包含三个整数 \( n, l, r \)(\( 1 \leq n \leq 10^5 \), \( 1 \leq l \leq r \leq 10^9 \))。保证所有测试案例中 \( n \) 的总和不超过 \( 10^5 \)。
- **输出格式**:对于每个测试案例,如果没有解决方案,打印 “NO”。如果有解决方案,打印 “YES”,然后在下一行打印 \( n \) 个整数 \( a_1, a_2, \ldots, a_n \) —— 你构造的数组。如果有多个解决方案,可以输出任意一个。

**输入输出样例**:
- 输入样例 #1:
```
4
5 1 5
9 1000 2000
10 30 35
1 1000000000 1000000000
```
- 输出样例 #1:
```
YES
1 2 3 4 5
YES
1145 1926 1440 1220 1230 1350 1001 1000 1233
NO
YES
1000000000
```**最大公约数的差异** **题目大意**: 输入包含多个测试数据。对于每组测试数据,给你三个整数 \( n, l, r \),你需要构造一个长度为 \( n \) 的数组 \( a_1, a_2, \dots, a_n \)(\( l \leq a_i \leq r \))使得 \( \gcd(i, a_i) \) 都不相同。如果能构造出这样的数组,则在第一行输出 “YES”,并且在下一行输出你所构造的 \( a \) 数组,如果有多个满足条件的 \( a \) 数组,输出任意一个即可。如果不能构造出这样的数组,则输出 “NO”。 **输入输出格式**: - **输入格式**:第一行包含一个整数 \( t \)(\( 1 \leq t \leq 10^4 \))——测试案例的数量。接下来是 \( t \) 行,每行包含三个整数 \( n, l, r \)(\( 1 \leq n \leq 10^5 \), \( 1 \leq l \leq r \leq 10^9 \))。保证所有测试案例中 \( n \) 的总和不超过 \( 10^5 \)。 - **输出格式**:对于每个测试案例,如果没有解决方案,打印 “NO”。如果有解决方案,打印 “YES”,然后在下一行打印 \( n \) 个整数 \( a_1, a_2, \ldots, a_n \) —— 你构造的数组。如果有多个解决方案,可以输出任意一个。 **输入输出样例**: - 输入样例 #1: ``` 4 5 1 5 9 1000 2000 10 30 35 1 1000000000 1000000000 ``` - 输出样例 #1: ``` YES 1 2 3 4 5 YES 1145 1926 1440 1220 1230 1350 1001 1000 1233 NO YES 1000000000 ```

加入题单

上一题 下一题 算法标签: