Problem

hdu-2866

题意:求区间\([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的更多相关文章

  1. HDU2866 Special Prime

    题目网址:http://acm.hdu.edu.cn/showproblem.php?pid=2866 题意:在区间[2,L]内,有多少个素数p,满足方程有解. 分析: 原方程变为: n^(b-1) ...

  2. 【HDU】2866:Special Prime【数论】

    Special Prime Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Tot ...

  3. 【题解】UVA10140 [Prime Distance]

    [题解]UVA10140 Prime Distance 哈哈哈哈\(miller-rabbin\)水过去了哈哈哈 还能怎么办呢?\(miller-rabbin\)直接搞.枚举即可,还跑得飞快. 当然此 ...

  4. 【题解】CF45G Prime Problem

    [题解]CF45G Prime Problem 哥德巴赫板子题? \(\frac{n(n+1)}{2}\)若是质数,则不需要分了. 上式 若是奇数,那么拆成2和另一个数. 上式 若是偶数吗,直接\(O ...

  5. Special Prime

    Special Prime Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Tot ...

  6. 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 ...

  7. 牛客NOIP暑期七天营-TG1 赛后题解

    目录 牛客NOIP暑期七天营-提高组1 A-最短路 题目描述 link 题解 代码 B-最小生成链 题目描述 link 题解 代码 C-最小字典最短路 题目描述 link 题解 Update 牛客NO ...

  8. 字符串经典的hash算法

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

  9. 几种经典的Hash算法的实现(源代码)

    来源声明: http://blog.minidx.com/2008/01/27/446.html 先保存下来,以备后面研究,现在还看不懂! 哈希算法将任意长度的二进制值映射为固定长度的较小二进制值,这 ...

随机推荐

  1. Spring Boot笔记八:表单验证

    所谓的表单验证,就是为了防止用户乱输入的,这个问题前端的HTML5就可以判断了,其实不需要后端来验证,这里还是讲一下后端验证 首先,我们的Person类,我们加上一些表单验证的注释,如下: packa ...

  2. JDBC-C3P0

    一.依赖 pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns=&quo ...

  3. python 列表 元祖 集合

    #####################概念#######################1,什么是列表: 列表由[]表示,里面每一项元素用逗号隔开,里面什么都可以装.能装对象的对象. 列表可以装大 ...

  4. vue中异步函数async和await的用法

    整理的不错,收藏一下 http://blog.sina.com.cn/s/blog_13d06fc1f0102wzfr.html

  5. SQL Server进阶(五)子查询

    概述 子查询的概念: 当一个查询是另一个查询的条件时,称之为子查询.子查询可以嵌套在主查询中所有位置,包括SELECT.FROM.WHERE.GROUP BY.HAVING.ORDER BY. 外面的 ...

  6. MySQL的一些基本命令笔记(2)

    1.逻辑运算符的补充 between 的用法:(在....之间) select column1,column2,......columnN from 表名 where columnX between ...

  7. 九、文件IO——案例构建标准库

    例子如下: mystdio.h #ifndef __MYSTDIO_H__ #define __MYSTDIO_H__ #include <sys/types.h> #define MYE ...

  8. luogu P4363 [九省联考2018]一双木棋chess

    传送门 对抗搜索都不会,我真是菜死了qwq 首先根据题目条件,可以发现从上到下每一行的棋子数是单调不增的,然后n m都比较小,如果把状态搜出来,可以发现合法状态并不多,所以可以用一个11进制数表示状态 ...

  9. ORA-01882 timezone region not found

    解决方案有2个 1.在java运行环境中添加配置,制定时区 -Duser.timezone=GMT 2.修改系统时区 linux 下 1. 查看当前时区 date -R 2. 修改设置时区 方法(1) ...

  10. 第26月第7天 mac如何matplotlib中文乱码问题

    1.mac如何matplotlib中文乱码问题 先查看 ~/.matplotlib/fontList.json 添加SimHei字体(simhei.ttf文件)到 /Library/Framework ...