青岛站
Problem Description
A cubic number is the result of using a whole number in a multiplication three times. For example, 3×3×3=27 so 27 is a cubic number. The first few cubic numbers are 1,8,27,64 and 125. Given an prime number p. Check that if p is a difference of two cubic numbers.
Input
The first of input contains an integer T (1≤T≤100) which is the total number of test cases.
For each test case, a line contains a prime number p (2≤p≤1012).
Output
For each test case, output ‘YES’ if given p is a difference of two cubic numbers, or ‘NO’ if not.
#include <stdio.h>
#include <math.h>
int main(){
int t;
scanf("%d", &t);
while(t--){
long long p;
scanf("%I64d", &p);
p -=1;
long long n = floor(sqrt(p/3));