CF225E Unsolvable

题目描述

求所有使方程

\[z=\lfloor\frac{x}{2}\rfloor+y+xy \]

不存在正整数解 \((x,y)\)\(z\) 中,第 \(n\) 小的 \(z\) ,结果对 \(10^9+7\) 取模

解法

向下取整不好搞,所以想到分奇偶讨论把向下取整去掉。

  1. \(x\) 是奇数,令 \(x=2k+1\)。则

\[z=k+2y+2ky \]

试图化简

\[z+1=(k+1)(2y+1) \]

其中,\(k\) 取遍自然数,\(y\) 取遍正整数,那么 \(k+1\) 取遍所有大于等于 \(1\) 的正整数,\(2y+1\) 取遍所有大于等于 \(3\) 的奇数。这个式子就说明了若 \(z+1\) 能分解出一个大于 \(1\) 的奇数,那么 \(z\) 就肯定不满足条件。所以 \(z+1\) 只能是一个 \(2\) 的次幂。我们表示为

\[z+1=2^r \]

其中 \(r\) 为某个正整数。
2. 若 \(x\) 是偶数,令\(x=2k\)。则

\[z=k+y+2ky \]

同上,分解因式

\[2z+1=(2k+1)(2y+1)=(x+1)(2y+1) \]

其中 \(x+1\)\(2y+1\) 均为大于等于 \(3\) 的奇数。上述式子说明了如果 \(2z+1\) 能写成两个大于等于 \(3\) 的奇数,那么 \(2z+1\) 就不符合条件。而 \(2z+1\) 本来就为一个奇数,若可以分解那么一定是两个奇数相乘。综上 \(2z+1\) 一定为一个奇素数。表示为

\[2z+1=p \]

综合上述两条

\[\begin{cases} z+1=2^r \\ 2z+1=p \end{cases}\]

合并得

\[2z+1=2^{r+1}-1=p \]

那么可以看出,\(z\) 便是所有 \(2z+1\) 是梅森素数时的值。

然后就可以从某 OEIS 复制一下数列,然后打表输出。

posted @ 2020-11-13 20:41  Kreap  阅读(96)  评论(0编辑  收藏  举报