Codeforces Round #368 (Div. 2) C. Pythagorean Triples
题目链接:http://codeforces.com/contest/707/problem/C
题意:
直角三角形的三边都为整数,给出其中一边n,求另外两边m、k。
(1 ≤ n ≤ 109) (1 ≤ m, k ≤ 1018)
分析:
假设直角三角形的斜边长为c,直角边为n,a。
则根据勾股定理有a2+n2=c2
变形得到:n2 = (c+a)(c-a)
即因式分解
当n为奇数时,c-a = 1,c+a = n2
当n为偶数时,c-a = 2,c+a = n2/2
联立可得到c、a的表达式
(分n为奇数和偶数讨论,得到n2因式分解时一定有1和2两个因数,从而构造出可行解)
当n=1和2时,无解要进行特判。
代码:
#include<cstdio> #include<algorithm> #include<map> #include<cstring> #include<string> #include<iostream> #include<set> #include<vector> #include<cmath>using namespace std;typedef long long ll; const int mod = 1000000007; const int maxn = 200010;int main() {ll n,c,a;while(~scanf("%I64d",&n)){if(n<3){printf("-1\n");continue;}if(n&1){c = (n*n+1)/2;a = (n*n-1)/2;}else{c = n*n/4+1;a = n*n/4-1;}printf("%I64d %I64d\n",c,a);}return 0; }
View Code
转载于:https://www.cnblogs.com/hadis-yuki/p/5792281.html
Codeforces Round #368 (Div. 2) C. Pythagorean Triples相关推荐
- 暴力 Codeforces Round #183 (Div. 2) A. Pythagorean Theorem II
题目传送门 1 /* 2 暴力:O (n^2) 3 */ 4 #include <cstdio> 5 #include <algorithm> 6 #include <c ...
- Codeforces Round #368 (Div. 2)
5/5 失踪多天发一下CF的题解,突然发现CF题解评论区一堆大神在晒解法,我等渣渣就顺手膜拜了一发,学了不少姿势,以后一打完CF就去评论区找姿势好了...... 最近有一个感悟,就是不要让别人告诉你一 ...
- Codeforces Round #368 (Div. 2) problem: (C) Pythagorean Triples
本题就一个公式 n^2+((n^2-1)/2)^2=((n^2+1)/2)^2 0.当n==1或n==2时,不存在结果. 1.当n为奇数时此公式求得的数还是整数,成立 2.当n为偶数时分两种情况: ( ...
- Codeforces Round 867 (Div. 3) G2. Magic Triples (Hard Version)
题意是多少对 互不相同的下标i,j,k满足对应数等比 很自然的想到了枚举最大数,然后找到因子就做完了 1e9以内因子最多1e3,这个不难发现,知道怎么通过质因数分解得到因子个数就知道怎么算了. 毫无优 ...
- Codeforces Round #506 (Div. 3)
Codeforces Round #506 (Div. 3) 实习期间事不多,对div3 面向题解和数据编程了一波 A. Many Equal Substrings 题目链接 A题就是找后缀和前缀重合 ...
- Codeforces Round #563 (Div. 2)/CF1174
Codeforces Round #563 (Div. 2)/CF1174 CF1174A Ehab Fails to Be Thanos 其实就是要\(\sum\limits_{i=1}^n a_i ...
- 构造 Codeforces Round #302 (Div. 2) B Sea and Islands
题目传送门 1 /* 2 题意:在n^n的海洋里是否有k块陆地 3 构造算法:按奇偶性来判断,k小于等于所有点数的一半,交叉输出L/S 4 输出完k个L后,之后全部输出S:) 5 5 10 的例子可以 ...
- Codeforces Round #696 (Div. 2) (A ~ E)超高质量题解(每日训练 Day.16 )
整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 Codeforces Round #696 (Div. 2) (A ~ E)超高质量题解 比赛链接:h ...
- Codeforces Round #712 Div.2(A ~ F) 超高质量题解(每日训练 Day.15 )
整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 Codeforces Round #712 Div.2(A ~ F) 题解 比赛链接:https:// ...
最新文章
- 基于双目事件相机的视觉里程计
- SVN 文件的解锁方法
- Java 三位数的变形
- 特征工程的宝典-《Feature Engineering for Machine Learning》翻译及代码实现
- P3313-[SDOI2014]旅行【树链剖分,线段树】
- C#求数组中元素的全排列
- Simulated Annealing(模拟退火算法)
- 软中断和硬中断的区别
- 分治 —— 莫队算法 —— 带修莫队
- [译]JavaScript async / await:好处、坑和正确用法
- ipython vim_python 之ubuntu开发环境vim 和 ipython
- pygtk在windows的安装
- 《设计模式》-简单工厂模式
- Remote branch Develop not found in upstream origin
- 5G+4G聚合路由器
- 脱硫塔发生堵塞,会产生什么影响?怎么应对?基于钙法、镁法、双碱法、氨法脱硫技术比较分析
- Lattice Diamond 加入未默认支持flash
- 对于路由地址并未切换,但是地址栏发生地址发生变化原因
- SLAM前端之ndt_omp使用
- STM32F103_study69_The punctual atoms(STM32 SPI communication principle and configuration)
热门文章
- gridview排序加箭头(二)
- 脚本的力量:MSDN中一段代码的IronPython与PowerShell实现
- python3 文件相关操作
- centos7安装samba
- linux的mysql本地yum安装_linux下使用yum安装mysql
- Golang——多种运算符及优先级
- Spring事务详解与使用
- 百度链接提交php获取状态码,新网站,在百度提交了首页链接,但是一直没有收录,也没有爬虫抓取,怎么回事呢?(悬赏1元) - 搜外SEO问答...
- python 案例串接_Python基础系例--字典串操作
- 进程 zabbix_Zabbix监控在windows的进程(非进程数)