Problem Description
ztr loves research Math.One day,He thought about the "Lower Edition" of triangle equation set.Such as
n=x2−y2
.
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<=106) indicating the number of test cases.
For each test case:each line contains a positive integer , n<=1018 .
The first line of input contains an positive integer T(T<=106) indicating the number of test cases.
For each test case:each line contains a positive integer , n<=1018 .
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 Truesolution:给定nz,寻找是否存在一组(x,y),满足x^2-y^2=n,那么我们可以构造两个方程 即(k+1)^2-k^2=n和(k+1)^2-(k-1)^2=n,得出结论,当n为奇数或者4的倍数时,方程一定有正整数解,但要记得特判1和4#include<cstdio> using namespace std; long long n; int main() { int t; scanf("%d", &t); while (t--) { scanf("%I64d", &n); if (n == 1 || n == 4)printf("False\n"); else if (n % 2 == 1 || n % 4 == 0)printf("True\n"); else printf("False\n"); } return 0; }