J.Permutation and Primes

题意

给定一个正整数 nn ,构造一个 nn 的排列,使得每对相邻元素的和或差的绝对值为一奇素数

题解

逛了一圈过了的代码,好像没看到我这个做法。

nn 比较小就打表。

nn 如果是偶数,则存在 p1+p2=np_1+p_2=np1,p2p_1,p_2 是质数,构造 a[i]=((ip11)modn)+1a[i]=((ip_1-1)\bmod n)+1 即可。

nn 如果是奇数,则 n+1n +1n×2+1n\times2+1 之间有一个质数 p3p_3,找 p1+p2=n1p_1+p_2=n-1,然后构造 a[1]=n,a[2]=p3n,a[i]=(a[2]+(i2)p11mod(n1))+1a[1]=n,a[2]=p_3-n,a[i]=(a[2]+(i-2)p_1-1 \bmod (n-1))+1