题解-hdu2866 Special Prime
Problem
题意:求区间\([2,L]\)有多少素数\(p\)满足\(n^3+pn^2=m^3\),其中\(n,m\)属于任意整数
Solution
原式等价于\(n^2(p+n)=m^3\)
可证当\(p|\gcd(n^2,n+p)\)时,无解,因为当\(n=k\cdot p\)时
\(k^2p^3+k^3p^3=m^3\)
\(m=p\sqrt [3]{k^2+k^3}\)可证无整数解,对于这一点,证明如下
\(k^2+k^3=k^2(1+k)\)
假如\(1+k\)为立方数,则要求\(k^2\)也为立方数,即\(k\)为立方数,这样的话,\(k\)与\(k+1\)都为立方数,这是不存在的(除非\(k=0\),但这样的话不满足我们的题设了)
假如\(1+k\)不是立方数,则要求\(k^2\)里头必须有因数来填补\(1+k\)不能被开立方根的空缺,但\(\gcd(k,1+k)=1\),所以不可能有因数来填补空缺
即\(m=p\sqrt[3]{k^2+k^3}\)无整数解
即\(n\not =k\cdot p\),即\(p\)不为\(\gcd(n^2,n+p)\)的因数,即它俩互质
若\(n=x^3,n+p=y^3\),则\(m=x^2y,p=y^3-x^3\)
则\((y-x)|p\),由于\(p\)是质数,所以\(y=x+1\)
代回去发现\(p=y^3-x^3=(x+1)^3-x^3\)
所以可以枚举\(x\),并使得计算出的\(p\)为质数即可
Code
#include <bits/stdc++.h>
#define rg register
const int N=1001000;
int is[N],f[N],n;
void prework(){
for(rg int i=2;i<1010;++i)if(!is[i])
for(rg int j=i*i;j<N;j+=i)is[j]=1;
for(rg int i=1;;++i){
int v=1ll*(i+1)*(i+1)*(i+1)-1ll*i*i*i;
if(v<N)f[v]=(is[v]?0:1);else break;
}for(rg int i=1;i<N;++i)f[i]+=f[i-1];
}
int main(){
prework();
while(~scanf("%d",&n))
if(n<7)puts("No Special Prime!");
else printf("%d\n",f[n]);
return 0;
}
题解-hdu2866 Special Prime的更多相关文章
- HDU2866 Special Prime
题目网址:http://acm.hdu.edu.cn/showproblem.php?pid=2866 题意:在区间[2,L]内,有多少个素数p,满足方程有解. 分析: 原方程变为: n^(b-1) ...
- 【HDU】2866:Special Prime【数论】
Special Prime Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Tot ...
- 【题解】UVA10140 [Prime Distance]
[题解]UVA10140 Prime Distance 哈哈哈哈\(miller-rabbin\)水过去了哈哈哈 还能怎么办呢?\(miller-rabbin\)直接搞.枚举即可,还跑得飞快. 当然此 ...
- 【题解】CF45G Prime Problem
[题解]CF45G Prime Problem 哥德巴赫板子题? \(\frac{n(n+1)}{2}\)若是质数,则不需要分了. 上式 若是奇数,那么拆成2和另一个数. 上式 若是偶数吗,直接\(O ...
- Special Prime
Special Prime Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Tot ...
- hdu-2886 Special Prime---数论推导
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=2866 题目大意: 问你1到L中有多少个素数满足n^3 + p*n^2 = m^3(其中n,m为大于1 ...
- 牛客NOIP暑期七天营-TG1 赛后题解
目录 牛客NOIP暑期七天营-提高组1 A-最短路 题目描述 link 题解 代码 B-最小生成链 题目描述 link 题解 代码 C-最小字典最短路 题目描述 link 题解 Update 牛客NO ...
- 字符串经典的hash算法
1 概述 链表查找的时间效率为O(N),二分法为log2N,B+ Tree为log2N,但Hash链表查找的时间效率为O(1). 设计高效算法往往需要使用Hash链表,常数级的查找速度是任何别的算法无 ...
- 几种经典的Hash算法的实现(源代码)
来源声明: http://blog.minidx.com/2008/01/27/446.html 先保存下来,以备后面研究,现在还看不懂! 哈希算法将任意长度的二进制值映射为固定长度的较小二进制值,这 ...
随机推荐
- hibernate关联关系映射之配置文件
词汇解释 关系:事物之间相互作用.相互联系的状态.范围最大. 联系:在关系数据库中表示实体与实体之间的联系,1:1,1:n,m:n. 关联:表示对象之间的关系,既有数量性,又有方向性:动词:将对象之间 ...
- java io系列22之 FileReader和FileWriter
FileReader 是用于读取字符流的类,它继承于InputStreamReader.要读取原始字节流,请考虑使用 FileInputStream.FileWriter 是用于写入字符流的类,它继承 ...
- NameNode 与 SecondaryNameNode 的工作机制
一.NameNode.Fsimage .Edits 和 SecondaryNameNode 概述 NameNode:在内存中储存 HDFS 文件的元数据信息(目录) 如果节点故障或断电,存在内存中的数 ...
- 立个Flag不学好PHP誓不罢休
3年前从部队退伍退伍回来,就莫名其秒的爱上的编程,复学期间我几乎忘记了本专业的知识(原本我是读书籍设计的),从刚刚开始的C程序开始,一路走到一拿起书本我就几乎是睡着的状态,后来就开始了视频的学习之路, ...
- http请求参数中文乱码的问题
如题,A项目带参数发送请求到B项目.刚开始还好,但是发觉 参数带中文 就出现问题了,变成了?? 解决方法:发送中文参数前先做处理 request.getSession().removeAttribut ...
- 前端面试题整理—HTTP篇
1.常见的HTTP方法有哪些? GET: 用于请求访问已经被URI(统一资源标识符)识别的资源,可以通过URL传参给服务器 POST:用于传输信息给服务器,主要功能与GET方法类似,但一般推荐使用PO ...
- XXE攻防
一.XML基础知识 XML用于标记电子文件使其具有结构性的标记语言,可以用来标记数据.定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言.XML文档结构包括XML声明.DTD文档类型定义(可 ...
- C#水晶报表教程
http://apps.hi.baidu.com/share/detail/24298108 水晶报表是一个功能强大的报表工具,现在已经被Microsoft Visual Studio 2005(下文 ...
- STLINK V2安装使用详解
1. 解压st-link_v2_usb driver.zip文件. 2. 运行解压后的st-link_v2_usbdriver.exe文件,安装STLINK V2驱动程序.安装路 ...
- 第27月第25天 clang -rewrite-objc main.m
1.clang -rewrite-objc main.m #import <objc/runtime.h> #import<objc/message.h> #import &l ...