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;
}
}

最新文章

  1. 微软.Net 社区虚拟大会 -- 首日重点(dotnetConf 2016)
  2. 数百个 HTML5 例子学习 HT 图形组件 – WebGL 3D 篇
  3. Windows下的Memcache安装
  4. 【基本技能篇】&gt;&gt;第2篇《如何把事情做到最好——心得》
  5. python中隐式的内存共享
  6. Flex中NetConnection与NetStream的关系、及浏览器并发连接数测试[转]
  7. latex 三线表
  8. js 如何把JSON格式的字符串转换为JSON对象
  9. xmpp 配置数据库 服务器
  10. 路由器to路由器
  11. SSH框架常会出现的一些错误
  12. ionic 添加新module
  13. PHP curl_setopt函数用法介绍
  14. combine_lat_dirs.sh
  15. 爬虫基础之requests模块
  16. vue.js中axios的封装
  17. BZOJ1500[NOI2005]维修数列——非旋转treap
  18. intellj(idea) 编译项目时在warnings 页签框里 报 “xxx包不存在” 或 “找不到符号” 或 “未结束的字符串字面值” 或 “需要)” 或 “需要;”等错误提示
  19. GC--垃圾收集器
  20. OpenCV中对Mat里面depth,dims,channels,step,data,elemSize和数据地址计算的理解 (转)

热门文章

  1. LaTeX字体设置
  2. Lua程序设计(四)面向对象类继承
  3. Zookeeper笔记之命令行操作
  4. Android的layout_weight和weightSum
  5. Ubuntu下ibus在firefox浏览器中选中即删除的解决办法
  6. redis从入门到踩坑
  7. Linux下USB转串口的驱动【转】
  8. js 加alert后才能执行方法
  9. ScheduledThreadExecutor定时任务线程池
  10. http://blog.csdn.net/u011001723/article/details/45621027