题目链接:
ztr喜欢研究数学,一天,他在思考直角三角形方程组的Lower版,即n=x^{2}-y^{2}n=x?2??−y?2??,他想知道,对于给出的n,是否会有正整数解。
有T组数据,第一行为一个正整数T(T<=10^{6})T(T<=10?6??),每一行一个正整数n,n <=10^{18}n<=10?18??
如果有正整数解,输出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\n"); else if(n%4==0&&n!=4)printf("True\n"); else printf("False\n"); } return 0; }
原文:http://www.cnblogs.com/zhangchengc919/p/5449530.html