Codeforces 707 C. Pythagorean Triples(找规律)——Codeforces Round #368 (Div. 2)
来源:互联网 发布:淘宝客 知乎 编辑:程序博客网 时间:2024/05/21 05:57
传送门
Katya studies in a fifth grade. Recently her class studied right triangles and the
Pythagorean theorem. It appeared, that there are triples of positive integers such that you
can construct a right triangle with segments of lengths corresponding to triple. Such
triples are called Pythagorean triples.
For example, triples (3, 4, 5), (5, 12, 13) and (6, 8, 10) are Pythagorean triples.
Here Katya wondered if she can specify the length of some side of right triangle and find
any Pythagorean triple corresponding to such length? Note that the side which length is
specified can be a cathetus as well as hypotenuse.
Katya had no problems with completing this task. Will you do the same?
Input
The only line of the input contains single integer
side
of a right triangle.
Output
Print two integers
triple, in the only line.
In case if there is no any Pythagorean triple containing integer n, print - 1 in the only line.
If there are many answers, print any of them.
Examples
input
3
output
4 5
input
6
output
8 10
input
1
output
-1
input
17
output
144 145
input
67
output
2244 2245
题目大意:
给你一个数,让你判断这个数是不是能够满足勾股数,如果满足输出另外两条边,否则输出
解题思路:
因为让我们输出任意一组数据,所以我们特判一下就行了:
假设是奇数的话:那么是
假设是偶数的话:那么是
/**2016 - 08 - 19 上午Author: ITAKMotto:今日的我要超越昨日的我,明日的我要胜过今日的我,以创作出更好的代码为目标,不断地超越自己。**/#include <iostream>#include <cstdio>#include <cstring>#include <cstdlib>#include <cmath>#include <vector>#include <queue>#include <algorithm>#include <set>using namespace std;typedef long long LL;typedef unsigned long long ULL;const int INF = 1e9+5;const int MAXN = 1e5+5;const int MOD = 1e9+7;const double eps = 1e-7;const double PI = acos(-1);using namespace std;LL Scan_LL()///输入外挂{ LL res=0,ch,flag=0; if((ch=getchar())=='-') flag=1; else if(ch>='0'&&ch<='9') res=ch-'0'; while((ch=getchar())>='0'&&ch<='9') res=res*10+ch-'0'; return flag?-res:res;}int Scan_Int()///输入外挂{ int res=0,ch,flag=0; if((ch=getchar())=='-') flag=1; else if(ch>='0'&&ch<='9') res=ch-'0'; while((ch=getchar())>='0'&&ch<='9') res=res*10+ch-'0'; return flag?-res:res;}void Out(LL a)///输出外挂{ if(a>9) Out(a/10); putchar(a%10+'0');}int main(){ LL n; while(cin>>n) { if(n == 1LL || n==2LL) { puts("-1"); continue; } if(n & 1) { LL tmp = (n-1)/2; cout<<2*tmp*tmp+2*tmp<<" "<<2*tmp*tmp+2*tmp+1<<endl; } else { LL tmp = n*n/4; if(tmp <= 1) puts("-1"); else cout<<tmp-1<<" "<<tmp+1<<endl; } } return 0;}
- Codeforces 707 C. Pythagorean Triples(找规律)——Codeforces Round #368 (Div. 2)
- 【Codeforces Round #368 (Div. 2)】Codeforces 707C Pythagorean Triples
- Codeforces Round #368 (Div. 2)(C. Pythagorean Triples 勾股数规律)
- Codeforces Round #368 (Div. 2) -- C. Pythagorean Triples (数学公式)
- Codeforces Round #368 (Div. 2) Pythagorean Triples
- Codeforces Round #368 (Div. 2) Pythagorean Triples
- Codeforces Round #368 (Div. 2)C Pythagorean Triples
- Codeforces Round #368 (Div. 2) C. Pythagorean Triples (本原勾股数)
- Codeforces Round #368 (Div. 2)-C. Pythagorean Triples
- Codeforces Round #368 (Div. 2)C. Pythagorean Triples
- Codeforces Round #368 (Div. 2) -C. Pythagorean Triples
- Codeforces Round #368 (Div. 2) C. Pythagorean Triples
- Codeforces Round #368 (Div. 2) C. Pythagorean Triples
- Codeforces Round #368 (Div. 2) problem: (C) Pythagorean Triples
- Codeforces Round #368 (Div. 2) C. Pythagorean Triples
- Codeforces #368(Div.2)C. Pythagorean Triples【勾股数】
- Codeforces Round #368 (Div. 2) C. Pythagorean Triples(数学构造)
- Codeforces Round #368 (Div. 2) C Pythagorean Triples(构造勾股数)
- usc oj 1615 The contest
- Android自定义控件系列
- Smarty模板技术-Smarty安装
- 面试题 java
- 数据按列排序
- Codeforces 707 C. Pythagorean Triples(找规律)——Codeforces Round #368 (Div. 2)
- codeforces 707D Persistent Bookcase
- 【离线】【深搜】【树】Codeforces 707D Persistent Bookcase
- strong和retain区别
- visual studio 的各个版本下载地址
- C# Task 用法
- 大唐电信java笔试题目
- mybatis扩展联合查询条件
- ubuntu 安装ssh