题目链接:
ztr loves math
Time Limit: 2000/1000 MS (Java/Others)
Memory Limit: 65536/65536 K (Java/Others)
问题描述
ztr喜欢研究数学,一天,他在思考直角三角形方程组的Lower版,即n=x^{2}-y^{2}n=x2−y2,他想知道,对于给出的n,是否会有正整数解。
输入描述
有T组数据,第一行为一个正整数T(T<=10^{6})T(T<=106),每一行一个正整数n,n <=10^{18}n<=1018
输出描述
如果有正整数解,输出TrueTrue,否则输出FalseFalse
输入样例
4 6 25 81 105
输出样例
False True True True
题意:
思路:
发现奇数和4的倍数可以满足条件;1和4特判;
AC代码:
#include <iostream> #include <cstdio> #include <cmath> #include <cstring> #include <algorithm> using namespace std; typedef long long LL; const int N=1e5+6; const LL mod=1e9+7; const double PI=acos(-1.0); int main() { int t; scanf("%d",&t); LL n; while(t--) { scanf("%I64d",&n); if(n%2==1&&n!=1)printf("True "); else if(n%4==0&&n!=4)printf("True "); else printf("False "); } return 0; }