毕达哥拉斯三元组是三个自然数a < b < c组成的集合,并满足

a^ + b^ = c^

例如,3^ + 4^ = 9 + 16 = 25 = 5^。
有且只有一个毕达哥拉斯三元组满足 a + b + c = 1000。
求这个三元组的乘积abc。

思路: 满足毕达哥拉斯定理,可以把它想象成为一个直角三角形的三条边,a是小的直角边,b是大的直角边,c是斜边。

  • b如果等于a,那么c就是无理数了,相加不可能等于1000,所以b不能等于a。
  • 下面的循环要满足直角三角形的几个条件, 1:直角边要小于斜边,2:两边之和大于第三边,3:两边之差小于第三边。如果查找到就直接返回。
public static int bida(int sum) {//三条边分别用 a b c 表示for(int a=1; a<=sum/4; a++) { //a不等于b,a是最小的边,则a最多占1/4for(int b=a+1;b<=sum/2;b++) {   //b最多占1/2(a=0时)int c = sum -a-b;if((a*a+b*b == c*c) & (a+b>c) &(c-a<b)){return a*b*c;}}}return -1;}public static void main(String[] args) {System.out.println(bida(1000));}
  1. line 6 如果b<c ,就可以保证 a<c。

  2. 根据大边对大角,小边对小角的原则。
    C是最长的斜边,对应的角度是90°,所以b不超过1/2;
    a不等于b,且a是最小的边,所以a不超过1/4.

7 特殊毕达哥拉斯三元组相关推荐

  1. FZU1669 Right-angled Triangle【毕达哥拉斯三元组】

    主题链接: http://acm.fzu.edu.cn/problem.php?pid=1669 题目大意: 求满足以a.b为直角边,c为斜边,而且满足a + b + c <= L的直角三角形的 ...

  2. 数论 —— 毕达哥拉斯三元组

    [定义] 满足  的  三元组称为毕达哥拉斯三元组,当  时,称其为本原的. 毕达哥拉斯三元组,也称为勾股数. [性质] 由 x.y.z 构成的三元组 (x,y,z) ,其中 y 为偶数,那么由他们构 ...

  3. 4-2毕达哥拉斯三元组

    一个直角三角形具有边长均为整数的三条边.直角三角形边长的这组整数值称为毕达哥拉斯三元组(中国称为勾股数).这三条边必须满足这样的关系:两条直角边的平方之和必须等于直角三角形斜边的平方.从键盘输入一个正 ...

  4. 特殊的不定方程——毕达哥拉斯三元组(勾股数组)

    毕达哥拉斯三元组:若正整数x,y,z满足下x^2+y^2=z^2.满足这个方程的正整数三元组被称为毕达哥拉斯三元组. 本原毕达哥拉斯三元组:若gcd(x,y,a)=1,则正整数三元组被称为本原毕达哥拉 ...

  5. 毕达哥拉斯三元组及本原毕达哥拉斯三元组

    毕达哥拉斯定理:勾股定理又称商高定理.毕达哥拉斯定理,是平面几何中一个基本而重要的定理.勾股定理说明,平面上的直角三角形的两条直角边的长度(古称勾长.股长)的平方和等于斜边长(古称弦长)的平方.反之, ...

  6. 7-204 毕达哥拉斯三元组

    7-204 毕达哥拉斯三元组 一个直角三角形具有边长均为整数的三条边.直角三角形边长的这组整数值称为毕达哥拉斯三元组(中国称为勾股数).这三条边必须满足这样的关系:两条直角边的平方之和必须等于直角三角 ...

  7. 勾股数(毕达哥拉斯三元组)

    勾股数(毕达哥拉斯三元组) 勾股数:可以构成一组直角三角形边长的三个正整数. eg: 3 4 5 勾股数的规律: 1)任何大于1的正奇数a=2k+1,其平方t=a^2仍为奇数,且将平方数拆成两个相邻的 ...

  8. 【POj1305】毕达哥拉斯三元组

    1.题目链接.这个题目是在求这样的一个问题:三个正整数x,y,z都小于等于N,这三个数组成一个三元组(x,y,z).其中,他们两两互质,也就是说(x,y,z)=1.并且x*x+y*y=z*z.求出这样 ...

  9. C语言求边长500以内的毕达哥拉斯三元组的个数

    #include<stdio.h> #include<math.h> #include<stdlib.h>int main() {int side1; //直角边1 ...

最新文章

  1. “新型肺炎患者同乘查询系统”上线,超2千万用户使用
  2. mysql索引有哪些了解_Mysql索引(简单了解)
  3. 笔记 | 《机器学习》中计算学习理论(下)
  4. android点赞刷新列表图片闪烁,RecyclerView使用——有效解决刷新数据错乱,图片闪烁,OOM问题...
  5. 计算机应用技术爱岗敬业,高职专业人才培养方案(计算机应用技术).doc
  6. 存定期还能加钱进去吗_购买支付宝的定期理财产品,会亏钱吗?
  7. https理论与实践
  8. 存PHP,数据存储 · PHP – Bmob后端云
  9. 程序员的故事 007 程序员是吃青春饭的
  10. 爆干3天整理出来,408考研计算机网络复习笔记(更新中)
  11. SCSI代码分析(3)SCSI设备的管理2
  12. Astalavista被蹂躏过程(转载自baoz.net)
  13. node.js+cocoscreator自研斗地主游戏
  14. RabbitMQ深入学习指导
  15. java旋转的行星,为什么行星会旋转,你真的知道吗?
  16. 项目管理中的项目干系人
  17. Java 线程 基础知识总结
  18. Vivado FPGA基础设计操作流程(1)
  19. 操作系统-动态内存分配算法
  20. 外贸开发信主题怎么写

热门文章

  1. doctype html5什么意思,是什么意思?
  2. 【苹果CMS技术教程】苹果CMSV10宝塔全自动定时采集教程
  3. 蚁群算法解决多峰函数优化问题
  4. 【EasyClick iOS免越狱常见问题】脚本运行 显示执行异常:com.js.main
  5. android不能访问数据库文件,android下访问已存在的sqlite数据库文件的办法
  6. android打地鼠案例
  7. 圆角 border-radius
  8. python分段函数输入x的值求y的值_C语言编程题 有一分段函数如下,要求用scanf函数输入整数x的值,求y值并在屏幕上输出。有分段函数如下,编程实现输入整...
  9. 另一条路去IOE:全内存数据库弯道超车
  10. 1024,程序员节!快乐!