链接
题解
当 n = 1 , n = 2 n=1,n=2 n=1,n=2时无解
考察
n
=
3
n=3
n=3,发现可以
[
1
,
2
]
,
[
3
]
[1,2],[3]
[1,2],[3]
考察
n
=
5
n=5
n=5,发现可以
[
5
]
,
[
1
,
2
,
3
,
4
]
[5],[1,2,3,4]
[5],[1,2,3,4]
1 + n 1+n 1+n一组, 2 + ( n − 1 ) 2+(n-1) 2+(n−1), 3 + ( n − 2 ) 3+(n-2) 3+(n−2)都等于 n + 1 n+1 n+1
偶数的时候显然直接构造就行了
然后奇数中间会单出来一个数(也就是中位数),会发现由于是等差数列,两边的数加起来总等于中位数的两倍,所以这样也可以保证 g c d > 1 gcd>1 gcd>1
代码
n = int(input())
if n<=2:
print('No')
else:
print('Yes')
print(2,1,n)
print(n-2,end=' ')
for i in range(2,n):
print(i,end=' ')