您的位置:首页 > 其它

hdu 5675 ztr loves math(数学技巧)

2016-05-02 18:05 288 查看
[align=left]Problem Description[/align]

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?


[align=left]Input[/align]

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.


[align=left]Output[/align]

If there be a positive integer solutions,print True,else print False


[align=left]Sample Input[/align]

4
6
25
81
105


[align=left]Sample Output[/align]

False
True
True
True


Hint

For the fourth case,$105 = 13^{2}-8^{2}$


[align=left] [/align]
给定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

AC代码:

#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
#define ll long long
ll n;
int main()
{
int t;
scanf("%d",&t);
while(t--){
scanf("%I64d",&n);
if(n==1 || n==4){
printf("False\n");
continue;
}
if(n%2==1 || n%4==0){
printf("True\n");
}else{
printf("False\n");
}
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: