7 特殊毕达哥拉斯三元组
毕达哥拉斯三元组是三个自然数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));}
line 6 如果b<c ,就可以保证 a<c。
根据大边对大角,小边对小角的原则。
C是最长的斜边,对应的角度是90°,所以b不超过1/2;
a不等于b,且a是最小的边,所以a不超过1/4.
7 特殊毕达哥拉斯三元组相关推荐
- FZU1669 Right-angled Triangle【毕达哥拉斯三元组】
主题链接: http://acm.fzu.edu.cn/problem.php?pid=1669 题目大意: 求满足以a.b为直角边,c为斜边,而且满足a + b + c <= L的直角三角形的 ...
- 数论 —— 毕达哥拉斯三元组
[定义] 满足 的 三元组称为毕达哥拉斯三元组,当 时,称其为本原的. 毕达哥拉斯三元组,也称为勾股数. [性质] 由 x.y.z 构成的三元组 (x,y,z) ,其中 y 为偶数,那么由他们构 ...
- 4-2毕达哥拉斯三元组
一个直角三角形具有边长均为整数的三条边.直角三角形边长的这组整数值称为毕达哥拉斯三元组(中国称为勾股数).这三条边必须满足这样的关系:两条直角边的平方之和必须等于直角三角形斜边的平方.从键盘输入一个正 ...
- 特殊的不定方程——毕达哥拉斯三元组(勾股数组)
毕达哥拉斯三元组:若正整数x,y,z满足下x^2+y^2=z^2.满足这个方程的正整数三元组被称为毕达哥拉斯三元组. 本原毕达哥拉斯三元组:若gcd(x,y,a)=1,则正整数三元组被称为本原毕达哥拉 ...
- 毕达哥拉斯三元组及本原毕达哥拉斯三元组
毕达哥拉斯定理:勾股定理又称商高定理.毕达哥拉斯定理,是平面几何中一个基本而重要的定理.勾股定理说明,平面上的直角三角形的两条直角边的长度(古称勾长.股长)的平方和等于斜边长(古称弦长)的平方.反之, ...
- 7-204 毕达哥拉斯三元组
7-204 毕达哥拉斯三元组 一个直角三角形具有边长均为整数的三条边.直角三角形边长的这组整数值称为毕达哥拉斯三元组(中国称为勾股数).这三条边必须满足这样的关系:两条直角边的平方之和必须等于直角三角 ...
- 勾股数(毕达哥拉斯三元组)
勾股数(毕达哥拉斯三元组) 勾股数:可以构成一组直角三角形边长的三个正整数. eg: 3 4 5 勾股数的规律: 1)任何大于1的正奇数a=2k+1,其平方t=a^2仍为奇数,且将平方数拆成两个相邻的 ...
- 【POj1305】毕达哥拉斯三元组
1.题目链接.这个题目是在求这样的一个问题:三个正整数x,y,z都小于等于N,这三个数组成一个三元组(x,y,z).其中,他们两两互质,也就是说(x,y,z)=1.并且x*x+y*y=z*z.求出这样 ...
- C语言求边长500以内的毕达哥拉斯三元组的个数
#include<stdio.h> #include<math.h> #include<stdlib.h>int main() {int side1; //直角边1 ...
最新文章
- “新型肺炎患者同乘查询系统”上线,超2千万用户使用
- mysql索引有哪些了解_Mysql索引(简单了解)
- 笔记 | 《机器学习》中计算学习理论(下)
- android点赞刷新列表图片闪烁,RecyclerView使用——有效解决刷新数据错乱,图片闪烁,OOM问题...
- 计算机应用技术爱岗敬业,高职专业人才培养方案(计算机应用技术).doc
- 存定期还能加钱进去吗_购买支付宝的定期理财产品,会亏钱吗?
- https理论与实践
- 存PHP,数据存储 · PHP – Bmob后端云
- 程序员的故事 007 程序员是吃青春饭的
- 爆干3天整理出来,408考研计算机网络复习笔记(更新中)
- SCSI代码分析(3)SCSI设备的管理2
- Astalavista被蹂躏过程(转载自baoz.net)
- node.js+cocoscreator自研斗地主游戏
- RabbitMQ深入学习指导
- java旋转的行星,为什么行星会旋转,你真的知道吗?
- 项目管理中的项目干系人
- Java 线程 基础知识总结
- Vivado FPGA基础设计操作流程(1)
- 操作系统-动态内存分配算法
- 外贸开发信主题怎么写
热门文章
- doctype html5什么意思,是什么意思?
- 【苹果CMS技术教程】苹果CMSV10宝塔全自动定时采集教程
- 蚁群算法解决多峰函数优化问题
- 【EasyClick iOS免越狱常见问题】脚本运行 显示执行异常:com.js.main
- android不能访问数据库文件,android下访问已存在的sqlite数据库文件的办法
- android打地鼠案例
- 圆角 border-radius
- python分段函数输入x的值求y的值_C语言编程题 有一分段函数如下,要求用scanf函数输入整数x的值,求y值并在屏幕上输出。有分段函数如下,编程实现输入整...
- 另一条路去IOE:全内存数据库弯道超车
- 1024,程序员节!快乐!