hdu 6216 A Cubic number and A Cubic Number数学
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了hdu 6216 A Cubic number and A Cubic Number数学相关的知识,希望对你有一定的参考价值。
hdu 6216 A Cubic number and A Cubic Number
题意:判断一个素数是否是两个立方数之差,就是验差分。
题解:只有相邻两立方数之差才可能,,因为x^3-y^3=(x-y)(x^2+xy+y^2),看(x-y),就能很快想到不相邻的立方数之差是不可能是素数的:),,然后把y=x+1代入,得:p=3x^2+3x+1,所以可得判断条件为:①p-1必须能被3整除;②(p-1)/3必须能表示为两个相邻整数之积。
1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include<algorithm> 5 #include<cmath> 6 using namespace std; 7 typedef long long ll; 8 int main(){ 9 ll p ,t, i, j; 10 scanf("%lld", &t); 11 while(t--) { 12 scanf("%lld", &p); 13 i = sqrt((p-1)/3); 14 if((p-1)%3==0 && i*(i+1)==(p-1)/3) puts("YES"); 15 else puts("NO"); 16 } 17 return 0; 18 }
以上是关于hdu 6216 A Cubic number and A Cubic Number数学的主要内容,如果未能解决你的问题,请参考以下文章
HDU 6216 A Cubic number and A Cubic Number数学思维+枚举/二分
hdu 6216 A Cubic number and A Cubic Number
HDU 6216 A Cubic number and A Cubic Number(数学/二分查找)
HDU6216 A Cubic number and A Cubic Number 和 广工的加强版
2017 ACM/ICPC Asia Regional Qingdao Online 1011 A Cubic number and A Cubic Number
2017 ACM/ICPC Asia Regional Qingdao Online - 1011 A Cubic number and A Cubic Number