HDU6216 A Cubic number and A Cubic Number【思路】

来源:互联网 发布:什么叫手游数据 编辑:程序博客网 时间:2024/05/29 08:52

题意:问一个素数是不是某两个数的立方差


思路:等于一个素数p,那 a-b = 1,后括号里的数等于p,把b化掉,求这个方程是否有整数解


#include<stdio.h>#include<iostream>#include<string.h>#include<string>#include<stdlib.h>#include<math.h>#include<vector>#include<list>#include<map>#include<set>#include<stack>#include<queue>#include<algorithm>#include<numeric>#include<functional>using namespace std;typedef long long ll;typedef pair<int,int> pii;int main(void){    int T,flag;    ll n;    scanf("%d",&T);    while(T--)    {        scanf("%lld",&n);        flag = 1;        ll in = 3*3-4*3*(1-n);        ll xiao = sqrt(in);        if(xiao *xiao != in)            flag = 0;        ll ans = (-3+xiao) / (2*3);        if(ans * 6 != (-3+xiao))            flag = 0;        if(flag)            printf("YES\n");        else            printf("NO\n");    }    return 0;}