给定直角三角形的一边a,问存不存在这样的直角三角形,存在输出另外两边(<=1e18),否则输出-1,存在的话仅需输出一种。

补一种输出所有情形的算法:

显然给定的边是不确定的,所以需要分类讨论。

1.如果a是直边,设另外的直边是b,斜边是c

那么勾股定理显然有,由于a是知道的,不妨变形成

因此都是的因子,并且注意到,因子相加减是偶数,那么我们就可以枚举,两边之差小于第三边,判断是否有因子,有的话两个因子和差是否是偶数即可。

2.如果a是斜边,设两直边分别是a,b

暴力枚举一条斜边,判断此时是否存在另外一条边使直角三角形合法即可。

另外,a<=2时都是无解的,特判一下即可

#include<bits/stdc++.h>
#define ll long long
using namespace std;ll a;bool judge(ll k)
{return (ll)sqrt(k)*(ll)sqrt(k)==k;
}int main()
{cin>>a;//a是直边//r1=c-b,r2=c+bif(a<=2){cout<<-1;return 0;}for(ll r1=1;r1<a*a;r1++){if(a*a%r1==0)//r1是一个因子{ll r2=a*a/r1;if(a*a%r2==0&&(r1+r2)%2==0&&(r2-r1)%2==0)//r2也是因子,并且和差是偶数{printf("%lld %lld",(r1+r2)/2,(r2-r1)/2);return 0;}}}//a是斜边for(ll b=1;b<a;b++){if(judge(a*a-b*b))//判断另一边是否是平方数{printf("%lld %lld",b,sqrt(a*a-b*b));return 0;}}cout<<-1;return 0;
}

Codeforces 707C 数学相关推荐

  1. codeforces数学1600day6[CodeForces - 1029C多区间交+枚举,CodeForces 992C[数学公式推导],CodeForces 992B[质因数分解+暴力枚举]]

    A - Maximal Intersection CodeForces - 1029C 题目大意:就是给你n个区间,这n个区间有公共的区间长度为x,现在叫你从这n个区间中删掉一个使得x最大化. 解题思 ...

  2. 【codeforces 707C】Pythagorean Triples

    [题目链接]:http://codeforces.com/contest/707/problem/C [题意] 给你一个数字n; 问你这个数字是不是某个三角形的一条边; 如果是让你输出另外两条边的大小 ...

  3. Codeforces 300E(数学)

    题意:给定k个数字,求最小的正整数n,使得"n的阶乘"是"这k个数字的阶乘的积"的倍数.1<=k<=1e6,数字ai满足1<=ai<=1 ...

  4. CodeForces - 707C

    让我们铭记勾股数,1,2无勾股数,大于等于3的奇数:2n+1勾股数是2*n*n+2*n,2*n*n+2*n+1,大于等于3的偶数:2n为n*n+1,n*n-1.啊,gtmd勾股数! #include ...

  5. 18行代码AC_Wet Shark and Bishops CodeForces - 621B(数学推导+映射)

    励志用少的代码做高效表达 Problem describe Today, Wet Shark is given n bishops on a 1000 by 1000 grid. Both rows ...

  6. CodeForces 382B 数学推导

    这个题目题意简单,但是TLE得哭哭的... 输入 a b w x c五个数,最终要使得c<=a, 每一秒可以进行一个操作,如果b>=x,则 b=b-x,同时 c--;如果b<x,则a ...

  7. E - Olympic Medal CodeForces - 215B(数学 思维)

    The World Programming Olympics Medal is a metal disk, consisting of two parts: the first part is a r ...

  8. Codeforces 405D 数学问题

    真是脑残...擦 具体题解在这里 http://www.cnblogs.com/windysai/p/3619222.html 原本我为了防止两个数冲突,设置了好多判断,结果发现,如果两个数冲突,另外 ...

  9. Sasha and a Very Easy Test CodeForces - 1109E (数学,线段树)

    大意: 给定n元素序列, q个操作: (1)区间乘 (2)单点除(保证整除) (3)区间求和对m取模 要求回答所有操作(3)的结果 主要是除法难办, 假设单点除$x$, $x$中与$m$互素的素因子可 ...

  10. Codeforces Round 546 (Div. 2)

    layout: post title: Codeforces Round 546 (Div. 2) author: "luowentaoaa" catalog: true tags ...

最新文章

  1. 阿里最新论文解读:考虑时空域影响的点击率预估模型DSTN
  2. tomcat关闭 异常报告
  3. html5播放视频闪退,【报Bug】embed闪退
  4. 数据结构与算法:归并排序
  5. Java爬虫https网页内容报错SSLHandshakeException信任(忽略)所有SSL证书
  6. 部署Dotnet Core应用到Kubernetes(一)
  7. 自动将存储过程转成C#代码的过程[转]
  8. cw2vec:蚂蚁金服公开最新基于笔画的中文词向量算法
  9. css基础 CSS 布局 – Overflow、Float 浮动、CSS 布局 – 水平 垂直居中对齐
  10. Processing笔记04—鼠标键盘识别
  11. Widget Extention开发笔记
  12. java实现随机数生成算法_Java 语言实现的随机数生成算法
  13. win7 oracle32位客户端安装找不到orandce11.dll.dbl
  14. ssm项目笔记(五)图片存储方案
  15. 高效能创业者的七项习惯
  16. MOOSE多物理场耦合平台入门学习记录一(稳态热传导程序实例)
  17. 限制输入框 输入文本类型(纯数字/数字/中文/英文)
  18. 未来可期的6个物联网发展
  19. mycat分库分表与读写分离
  20. 2023美国大学生数学建模竞赛(美赛)E题解读思路基本模型

热门文章

  1. Android系统中的常用时间戳及时间单位
  2. 《黑马》——C++核心编程
  3. Unable to start ServletWebServerApplicationContext due to missing ServletWeb
  4. 安装ghost win7后未能启动服务器,ghost win7系统安装全教程 ghost win7启动失败怎么办...
  5. 前端之vue表格居中处理
  6. 微服务调用Ribbon负载均衡、Feign的使用
  7. CSM (Compatility Suport Module)兼容支持模块
  8. 解决在iOS复制失败问题 iOS/Android通用
  9. 计算机内存die,从内存时序的角度告诉你 三星B-DIE为何成为高端所用
  10. 乱谈那些个著名的科技互联网公司和产品名字