Description
ztr loves research Math.One day,He thought about the "Lower Edition" of triangle equation set.Such as
n=x^{2}-y^{2}
.
He wanted to know that ,for a given number n,is there a positive integer solutions?
He wanted to know that ,for a given number n,is there a positive integer solutions?
Input
There are T test cases.
The first line of input contains an positive integer T(T<=10^{6}) indicating the number of test cases.
For each test case:each line contains a positive integer , n <=10^{18} .
The first line of input contains an positive integer T(T<=10^{6}) indicating the number of test cases.
For each test case:each line contains a positive integer , n <=10^{18} .
Output
If there be a positive integer solutions,print
True
,else print
False
Sample Input
4 6 25 81 105
Sample Output
False True True True
Hint
For the fourth case,$105 = 13^{2}-8^{2}$
如果用暴力一定会超时,所以我就去找规律,然后发现:
4-1=3,9-4=5,16-9=7,25-16=9。。。。。。。全部都是奇数
9-1=8,16-4=12,25-9=16,36-16=20。。。。。。。全都是4的倍数
但其中没有1和4,所以:
#include<stdio.h>
int main()
{
int t,n,i,j;
scanf("%d",&t);
while(t--)
{
j=0;
scanf("%d",&n);
if(n%2==1||n%4==0) //如果n为奇数,或者是4的倍数,就可以
j=1;
if(n==1||n==4)//但是1和4是特例
j=0;
if(j==0)
printf("False\n");
else
printf("True\n");
}
return 0;
}