其他分享
首页 > 其他分享> > 立方数差

立方数差

作者:互联网

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,因式分解,质数,sqrt,乱搞,ge,立方,数差
来源: https://www.cnblogs.com/qinchenhao/p/15100435.html