立方数差

Problem

立方数差

Example&Prompt

立方数差

Solution

首先看到 \(a^3-b^3\) 不太好乱搞,考虑因式分解再乱搞

\[a^3-b^3=(a-b)(a^2+ab+b^2) \]

因为 \(a,b\) 为正整数,即 \(a,b\ge 1\),所以 \(a^2+ab+b^2\ge 3\),再因为 \(p\) 为质数,所以 \(a-b=1\),否则 \(p\) 不可能为质数。

根据 \(a-b=1\),我们就只要知道 \(a\) 或 \(b\) 中的任意一个就可以求出答案。

考虑枚举 \(a\in [\ 1,\sqrt p\ ]\),就可以这样我们就能用 \(O(1)\) 的时间求出 \(p\) 是否满足条件。

时间复杂度为 \(O(\sqrt p+T)\)。

Code

for (int i=1;i<=1000000;i++)
    f[(i-1)*(i-1)+i*i+i*(i-1)]=true;
上一篇:正睿AB班大讨论


下一篇:day05:枚举&模拟&高精度(了解原理,实现高精加)&文件重定向