CodeForces CF1608A Find Array 题解

读题点这里

这就是一道大水题啊!

题目简述

给定一个整数 nn,要求构造一个整数数组 a1,a2,...,ana_{1},a_{2},...,a_{n},使得以下条件成立:

  • 1ai1091 \le a_{i} \le 10^9
  • a1<a2<...<ana_{1}<a_{2}<...<a_{n}
  • aia_{i} 不能够被 ai1a_{i-1} 整除

思路分析

这道题目其实非常简单。

我们不难发现,当 a1=2,a2=3,a3=3,...,an=n+1a_{1}=2,a_{2}=3,a_{3}=3,...,a_{n}=n+1 的时候,满足上述条件,此时 aia_{i} 一定不能够被 ai1a_{i-1} 整除。

如果你发现了其它方法,那当然很好,但是一定要注意 1ai1091 \le a_{i} \le 10^9 这一条件。

完整代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <bits/stdc++.h>
using namespace std;

int t,n;

int main(){
cin>>t;
while(t--){
cin>>n;
for(int i=1;i<=n;i++){
cout<<i+1<<" ";
}
cout<<endl;
}
//system("pause");
return 0;
}

提交记录