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為素數]\)
轉載于:https://www.cnblogs.com/hyheng/p/7755827.html
總結
以上是生活随笔為你收集整理的HDU2866 Special Prime的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【实验报告】四恶意代码实验
- 下一篇: 【20171031早】sqli-libs