HDU2866 Special Prime

HDU2866 Special Prime

Description

给定L,求有多少个小于L的素数p,满足方程\(n^3+p*n^2=m^3\) \(n\in Z^+,m\in Z^+\)

Input Format

输入有多组数据,每组数据一行,每行一个正整数L。

Output Format

对于每组数据输出一行一个正整数,表示满足条件的素数个数,若没有满足条件的素数输出“No Special Prime!”

Sample Input

7
777

Sample Output

1
10

Solution

引理一\(k \in Z^+\),\((k^2+k^3)\)不是完全立方数。
证明:

假设\(k^2+k^3=a^3\),显然\(a>k\)

\(k^2=a^3-k^3\)

\(=(a-k)(a^2+a*k+k^2)\)

\(\geq a^2+a*k+k^2\)

\(>k^2\)

​ 存在矛盾,故假设不成立,所以\(\forall k \in Z^+ ,(k^2+k^3)\)不是完全立方数

引理二\(n \in Z^+ ,若n^2为完全平方数,则n也为完全平方数\)

​ 证明:

\(n^2=x^3\)

\(n=\prod_{i=1}^k {p_i^{a_i}} ,\forall a_i \in Z^+\)

\(\because \sqrt [3] {n^2}=\prod_{i=1}^k {p_i^{\frac {2*a_i} 3}} \in Z^+\)

\(\therefore \sqrt [3] n= \prod_{i=1}^k {p_i^{\frac {a_i} 3}\in Z^+}\)

\(\therefore n为完全立方数\)

假设n,p不互质,则

\(n=p*k\)

\(k^3*p^3+k^2+p^3=m^3\)

\((k^2+k^3)*p^3=m^3\)

由引理一可得m不是整数,与条件矛盾,所以n与p互质

gcd(n+p,p)=gcd(n,p)=1,所以n与n+p互质

所以\(n^2与n+p互质\)

又因为\(n^2(n+p)=m^3\)

所以\(n^2,n+p\)为完全立方数

由引理二得\(n\)也为完全立方数

\(n=a^3,n+p=b^3\)

\(p=b^3 -a^3\)

\(=(b-a)(b^2 +ab+a^2)\)

因为\(p\)为素数,所以\(b-a=1\)(因为 \(b-a\)\(b^2+ab+a^2\)皆为正整数,所以两者之中必定是一个为\(1\)一个为\(p\))

代入得\(p=3a^2+3a+1\)

所以\(Ans=\sum _{i=1}^{3i^2+3i+1 \leq L}[3i^2+3i+1为素数]\)

posted @ 2017-10-30 18:32  Hyheng  阅读(279)  评论(1编辑  收藏  举报