题意: 给出一个数n, 求出b和c, 使得n,b,c能构成直角三角形.
     n,b,c均为整数, 0≤n≤1e9,1≤b,c≤1e18

思路: 没想到竟然用打表能找到一些规律.此题打表后就能发现如下规律:
       1.当n>2时总有方法可以构造
       2.当n是奇数总存在两条边b,c使得c-b=1并且n2^22+b2^22=c2^22
       3.当n是偶数总存在两条边b,c使得c-b=2并且n2^22+b2^22=c2^22
     对于1,特判一下即可; 对于2和3, 联立2个方程就可求得.

代码:

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const ll mod=998244353;
const ll N=1e5+10;
const ll inf=2*0x3f3f3f3f;
const ll infl=2*0x3f3f3f3f3f3f3f3f;int main(){std::ios::sync_with_stdio(false);ll n;cin>>n;if(n<=2) cout<<-1<<' '<<-1<<endl;else{if(n%2==1)cout<<(n*n+1)/2<<' '<<(n*n-1)/2<<endl;else if(n%2==0)cout<<(n*n+4)/4<<' '<<(n*n-4)/4<<endl;}return 0;
}

牛客练习赛51 C 勾股定理相关推荐

  1. 牛客练习赛51 C 勾股定理 (结论题)

    大致题意 给一个 n (1<=n<=1e9) ,求其组成直角三角形的另外两条边,输出任意一组即可. 思路 结论题 除了 1,2 没用答案,其余的所有正整数满足以下勾股数结论. 可以记忆一下 ...

  2. 牛客练习赛51 C、勾股定理 只一边求另外两边 结论

    链接:https://ac.nowcoder.com/acm/contest/1083/C 来源:牛客网 勾股定理 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语 ...

  3. 牛客练习赛51(C题 勾股定理)

    勾股定理 题目描述 给出直角三角形其中一条边的长度n,你的任务是构造剩下的两条边,使这三条边能构成一个直角三角形. 输入描述: 一个整数n. 输出描述: 另外两条边b,c.答案不唯一,只要输出任意一组 ...

  4. 牛客练习赛51 C:勾股定理(勾股数)

    [题目] 给出直角三角形其中一条边的长度n,你的任务是构造剩下的两条边,使这三条边能构成一个直角三角形. [代码] int main() {ll n,b,c; scanf("%lld&quo ...

  5. 解题报告(一)C、(牛客练习赛41 F)简单数学题(数论 + FWT)(3.5)

    繁凡出品的全新系列:解题报告系列 -- 超高质量算法题单,配套我写的超高质量题解和代码,题目难度不一定按照题号排序,我会在每道题后面加上题目难度指数(1∼51 \sim 51∼5),以模板题难度 11 ...

  6. 牛客练习赛81 E. 小 Q 与函数求和 1( “简单莫比乌斯反演” ,欧拉函数性质)

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 牛客练习赛81 E. 小 Q 与函数求和 1( "简单莫比乌斯反演" ) Prob ...

  7. 牛客练习赛34 E little w and Digital Root(数位dp)

    title: 牛客练习赛34 E little w and Digital Root(数位dp) date: 2018-12-17 22:38:37 tags: 数位dp categories:ACM ...

  8. 牛客练习赛34 - C little w and Segment Coverage(思维、树状数组)

    title: 牛客练习赛34 - C little w and Segment Coverage(思维.树状数组) date: 2018-12-15 16:36:55 tags: [树状数组,思维] ...

  9. 牛客练习赛52 | C | [烹饪] (DP,裴蜀定理,gcd)

    牛客练习赛52 C 烹饪 链接:https://ac.nowcoder.com/acm/contest/1084/C来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 327 ...

最新文章

  1. android realm删除对象,Android Realm-从服务访问Realm对象
  2. Linux 基础 (1) - 在Win10上使用Hyper-v虚拟机安装CentOS7
  3. windows10下安装tensorflow(gpu版本)
  4. react月份选择控件_一款很实用的ReactJS日期范围选择控件
  5. 你要看看这些有趣的函数方法吗?
  6. 【Sarah】第一周
  7. KeyPass密码管理软件使用说明
  8. 2020年研究生数学建模竞赛总结复盘
  9. Android 增强版百分比布局库 为了适配而扩展
  10. 基于STM32单片机的智能药盒定时提示吃药喂水蓝牙APP方案原理图设计
  11. php cpu主频,处理器主频概念及 xxxGHz 的运算速度
  12. 关于AE动画文件如何导出 cocos-creater所需的序列帧动画的方法
  13. flutter拨打电话url_launcher
  14. 工作一年的心得体会(持续中.......)
  15. 小论文中添加脚注(可以不显示标号)
  16. 爱普生Epson LQ-735KII 打印机驱动
  17. 第2章第26节:英文排版技巧:把英文字母排成一个圆圈 [PowerPoint精美幻灯片实战教程]
  18. 显色指数(CRI)计算软件分享
  19. Intersect交集
  20. 算法练习——在有序序列(r1,r2,...,rn)中,存在序号i(1<=i<=n),使得ri=i。请设计一个分治算法找到这个元素。 要求算法在最坏情况下的时间性能为O(logn))

热门文章

  1. python opencv的函数cv2.LUT(src, lut, dst=None)的具体使用(LUT:查找表)
  2. matlab以jpg格式保存矩阵,Matlab将矩阵保存为图像
  3. TS装饰器、混入Mixins、TS模块、命名空间
  4. 漫谈斐波那契数列与黄金分割比
  5. 申请美国签证超详细流程
  6. list数据比对与list对象比对
  7. 深度学习和TensorFlow学习资源(书籍、文档和视频)
  8. 最新2022财报,亚信科技稳步转型
  9. c#日期格式操作(贴吧转)
  10. nz-select使用所出现的坑