题目9:找出唯一的满足a + b + c = 1000的毕达哥拉斯三元组{a, b, c}。
2015-06-23 22:39
316 查看
一个毕达哥拉斯三元组是一个包含三个自然数的集合,a<b<c,满足条件:
a2 + b2 = c2
例如:32 + 42 = 9 + 16 = 25 = 52.
已知存在并且只存在一个毕达哥拉斯三元组满足条件a + b + c = 1000。
找出该三元组中abc的乘积。
原题目链接:Problem 9
差不多也是暴力算
a2 + b2 = c2
例如:32 + 42 = 9 + 16 = 25 = 52.
已知存在并且只存在一个毕达哥拉斯三元组满足条件a + b + c = 1000。
找出该三元组中abc的乘积。
原题目链接:Problem 9
差不多也是暴力算
public class Problem9 { public static void main(String[] args) { int res = 1; lableA: for (int c = 1000; c > 1; c--) { for (int b = c - 1; b > 1; b--) { int a = 1000 - c - b; if (a > b || a< 0) break; if (isPythagoras(a, b, c)) { res = a * b * c; break lableA; } } } System.out.println(res); } private static Boolean isPythagoras(int a, int b, int c) { long p_a = Math.round(Math.pow(a, 2)); long p_b = Math.round(Math.pow(b, 2)); long p_c = Math.round(Math.pow(c, 2)); return p_a + p_b == p_c; } }
相关文章推荐
- Longest Substring Without Repeating Characters
- 为自己选择。
- Action的动态调用方法
- springMVC获取传递的参数
- 回答自己的提问
- python-pcap模块解析mac地址
- 微信拉票背后的利益纠葛
- Tiny6410学习笔记3——Nand Flash Controller
- Nginx目录别名(Alias)支持PHP的配置
- Winfrom 提示消息框公共类
- python-pcap模块解析mac地址
- 高性能JavaScript笔记三(编程实践)
- 学渣学C++遇到的一些函数
- jQuery高仿真移动手机滑动侧边栏布局插件
- 学渣学C++的一些问题及tips
- 约瑟夫环
- HSQLDB相关信息及用法汇总
- 几种排序算法
- java exception 详解
- KVO的底层实现原理