Codeforces Round #368 (Div. 2) C. Pythagorean Triples 数学
C. Pythagorean Triples
题目连接:
http://www.codeforces.com/contest/707/problem/C
Description
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 n (1 ≤ n ≤ 109) — the length of some side of a right triangle.
Output
Print two integers m and k (1 ≤ m, k ≤ 1018), such that n, m and k form a Pythagorean 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.
Sample Input
3
Sample Output
4 5
Hint
题意
给你直角三角形的一边长度,让你找到两个整数,是其他两条边的边长,问你能否找到。
题解:
其实是公式题,随便百度了一下,就找到结论了= =
代码
#include<bits/stdc++.h>
using namespace std;
int main()
{
long long n;
cin>>n;
if(n<=2){
cout<<"-1"<<endl;
return 0;
}
if(n%2)
{
long long a=(n-1LL)/2LL;
cout<<2LL*a*a+2LL*a<<" "<<2LL*a*a+2LL*a+1LL<<endl;
return 0;
}
else
{
long long a=n/2;
cout<<a*a-1<<" "<<a*a+1<<endl;
}
}
最新文章
- 微软.Net 社区虚拟大会 -- 首日重点(dotnetConf 2016)
- 数百个 HTML5 例子学习 HT 图形组件 – WebGL 3D 篇
- Windows下的Memcache安装
- 【基本技能篇】>;>;第2篇《如何把事情做到最好——心得》
- python中隐式的内存共享
- Flex中NetConnection与NetStream的关系、及浏览器并发连接数测试[转]
- latex 三线表
- js 如何把JSON格式的字符串转换为JSON对象
- xmpp 配置数据库 服务器
- 路由器to路由器
- SSH框架常会出现的一些错误
- ionic 添加新module
- PHP curl_setopt函数用法介绍
- combine_lat_dirs.sh
- 爬虫基础之requests模块
- vue.js中axios的封装
- BZOJ1500[NOI2005]维修数列——非旋转treap
- intellj(idea) 编译项目时在warnings 页签框里 报 “xxx包不存在” 或 “找不到符号” 或 “未结束的字符串字面值” 或 “需要)” 或 “需要;”等错误提示
- GC--垃圾收集器
- OpenCV中对Mat里面depth,dims,channels,step,data,elemSize和数据地址计算的理解 (转)