对于质数P,如果存在两个正整数a,b使得P=a3-b3,则称P为完美素数。现在给你一个质数,你需要判断它是否为完美素数。
输入格式:
输入一个质数P ,2<=P<=10000000。
输出格式:
P如果为完美素数输出“YES”,否则输出“NO"。
输入样例:
在这里给出一组输入。例如:
7
输出样例:
在这里给出相应的输出。例如:
YES
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
#include<stdio.h>
int main()
{
int n;
scanf("%d",&n);
int a,b;
int flag=0;
for(b=1;;b++)
{
for(a=b+1;;a++)
{
if(n==a*a*a-b*b*b)
{
flag=1;
goto l;
}
if(n>a*a*a-b*b*b)
break;
}
if(b>=n)
{
break;
}
}
l:if(flag==1)
printf("YES");
else
printf("NO");
return 0;
}