hdu 5675 ztr loves math(数学技巧)
2016-05-02 18:05
288 查看
[align=left]Problem Description[/align]
[align=left]Input[/align]
[align=left]Output[/align]
[align=left]Sample Input[/align]
[align=left]Sample Output[/align]
Hint
[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代码:
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; }
相关文章推荐
- Design Pattern - Behavioral Patterns - Mediator Pattern
- 自定义view实现ViewPageIndicator(viewpage指示器) so easy
- POJ3468 A Simple Problem with Integers
- POJ3468 A Simple Problem with Integers
- java动态代理(JDK和cglib)
- 拿来主义太严重
- opencv、matlab查看函数的定义、封装
- php实现堆排序
- 简易时钟
- Nginx之location匹配规则(个人总结)
- 如果一个技术博客的作者,没有勇气自建一个博客,为什么呢?
- C++作业四
- 安装Visual Studio 2013 出现0x80070643错误
- 语法分析器
- DPM恢复Exchange 2013数据库
- ORB_SLAM 功能包的安装与使用
- 移动Web触控事件总结
- leetcode-74. Search a 2D Matrix
- 设计模式之工厂方法、简单工厂、抽象工厂
- Python面向对象的编程--Python学习笔记五