原题链接: https://codeforces.com/contest/1443/problem/A
测试样例
input
3
2
3
4
output
6 4
4 6 10
14 10 12 8
题意: 给你一个整数,现在你需要从编号~中选出个编号使得这些编号之间,不能整除。
解题思路: 这显然是一个构造问题,根据样例我们其实也能发现一些问题,如果,那么自然是大于1的数,而范围是,又因为要选取个编号,故我们的只能限制在2,(即编号递增2)。那么还有一个要处理的地方就是不能整除,假设我定义好一个起始位置,那么按照我们依次递增2,最后的编号为,而起始位置的最小倍数也是在,所以必然不可能被整除 ,其他也一样。所以我们按这样构造即可解决问题。
AC代码
/*
*
*/
//POJ不支持
using namespace std;
const int inf=0x3f3f3f3f;//无穷大。
const int maxn=1e5;//限定值。
typedef long long ll;
int t,n;
int main(){
while(cin>>t){
while(t--){
cin>>n;
cout<<2*n<<" ";
int temp=2*n;
rep(i,1,n-1){
temp+=2;
cout<<temp<<" ";
}
cout<<endl;
}
}
return 0;
}