Content
有 \(t\) 组询问,每组询问给定一个数 \(n\),试构造出一个长度为 \(n\) 的数列 \(\{a_i\}_{i=1}^n\),使得:
- \(\forall i\in[1,n],1\leqslant a_i\leqslant 4n\)。
- \(\forall1\leqslant i,j\leqslant n,\gcd(a_i,a_j)\neq1,a_i\nmid a_j,a_j\nmid a_i\)。
数据范围:\(1\leqslant t,n\leqslant 100\)。
Solution
我们可以发现,样例中的数都是 \(2\) 的倍数,所以我们考虑从 \(4n\) 开始往前数 \(n\) 个偶数,然后我们发现第 \(n\) 个数正好就是 \(2n+2\),而且可以证明这样可以刚好满足题目的要求,因此直接输出即可。
或者你也可以从 \(2n\) 开始往后数 \(n\) 个偶数,最后一个数就是 \(4n-2\),可以证明这样也能够满足题目的要求。
Code
int t, n;
bool isprime[1007];
int main() {
//This program is written in Windows 10 by Eason_AC
getint(t);
while(t--) {
getint(n);
_for(i, n, 2 * n - 1) {
int ans = 2 * i;
writeint(ans);
putchar(i == 2 * n - 1 ? '\n' : ' ');
}
}
return 0;
}