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相关推荐

  1. hdu 2866 Special Prime

    题目:Special Prime 题意:求范围L内满足 n^3 + p*n^2 = m^3 的素数p的个数 思路:化简一下得到 n^2 *( n + p ) = m^3 假设 n^2 和 n+p 之间 ...

  2. 字符串的经典hash算法

    1 概述 链表查找的时间效率为O(N),二分法为log2N,B+ Tree为log2N,但Hash链表查找的时间效率为O(1). 设计高效算法往往需要使用Hash链表,常数级的查找速度是任何别的算法无 ...

  3. hash算法和常见的hash函数

    Hash,一般翻译做"散列",也有直接音译为"哈希"的,就是把任意长度的输入(又叫做预映射, pre--mage),通过散列算法,变换成固定长度的输出,该输出就 ...

  4. POCO C++库学习和分析 -- 序

    POCO C++库学习和分析 -- 序 1. POCO库概述: POCO是一个C++的开源库集.同一般的C++库相比,POCO的特点是提供了整一个应用框架.如果要做C++程序应用框架的快速开发,我觉得 ...

  5. mysql 字符串的hash函数_经典字符串Hash函数介绍 - yanjun_1982的专栏 - CSDNBlog

    作者阅读过大量经典软件原代码,下面分别介绍几个经典软件中出现的字符串Hash函数. 2.1 PHP中出现的字符串Hash函数 static unsigned long hashpjw(char *ar ...

  6. 【初等数论】【转载】夜深人静写算法(五) - 初等数论

    [特殊声明:本文为转载文章] 本文转载地址--感谢文章博主 目录 一.数论基本概念 1.整除性 2.素数 a.素数与合数 b.素数判定 c.素数定理 d.素数筛选法 3.因数分解 a.算术基本定理 b ...

  7. SEAL开源库源码12

    SEAL开源库源码12 文章目录 SEAL开源库源码12 5_ckks_basics.cpp example_ckks_basics 函数 6_rotation.cpp example_rotatio ...

  8. Seal库官方示例(五):ckks_basics.cpp解析

    这个代码计算的是π×x3+0.4×x+1\pi \times x^3+0.4 \times x +1π×x3+0.4×x+1. 代码解析 方案选择 首先照例是方案选择 EncryptionParame ...

  9. Seal库官方示例(三):levels.cpp解析

    这代码主要讲的是modulus switching这个东西,简单来说功能就是用来缩减密文噪声的.这个应该是BGV方案里的,但是官方给的例子却是BFV的,BFV里面没有这个过程,它是把模切换内嵌到了乘法 ...

最新文章

  1. GitHub开源的吃鸡版超级玛丽
  2. 简述ssl协议及利用openssl创建私有CA
  3. Leaflet绘制热力图【转】
  4. 厉害了,程序员的高考试卷,你能拿几分?
  5. 40个比较重要的Android面试题
  6. 动态执行c# 脚本片段
  7. 180326新闻:创客授牌仪式新闻稿
  8. 窗口分析函数_4_计算累加值
  9. word图片靠右_如何设置word图片边缘透明
  10. 2021-2025年中国超细氢氧化铝行业市场供需与战略研究报告
  11. 解决办法:string in namespace std does not name a type
  12. 图书在线网店的html,网上书城html模板.docx
  13. 用chrome 观看youtube视频显示中文字幕
  14. intel 服务器芯片型号怎么看,Intel CPU编号详解
  15. 【毕业设计】大数据分析的客户细分 (聚类分析) - python k-means
  16. 威海北洋电气java面试题_面试题_76_to_81_Java 最佳实践的面试问题
  17. kettle web 版本 (webspoon) 中文部署 kettle 页面编辑 kettleweb 中文
  18. 仿钉钉 集成自动化 流程设计器demo
  19. diy 单片机 自动浇花_自动浇花系统的设计及制作 基于Arduino
  20. 大白兔奶糖三聚氰胺事件后21日起重新上架

热门文章

  1. 移除 RSA-4096 Ransomware
  2. 【DeepLearning工具】Fedora下安装theano
  3. cisco 双ISP线路接入 链路自动切换方案
  4. Android全屏与透明状态栏
  5. Linux高级文本处理之gawk语法和基础命令(一)
  6. java Servlet Filter 拦截Ajax请求,统一处理session超时的问题
  7. Nginx + CGI/FastCGI + C/Cpp
  8. [HTML/CSS]margin属性用法
  9. Hibernate主键生成方式
  10. 在LINUX环境中,哪种文件系统存储更安全?