Pythagorean Triplet
1. Readme
勾股数
勾股数是一组,三个自然数,{a,b,c}, 如
a**2 + b**2 = c**2
这样,
a < b < c
例如,
3**2 + 4**2 = 9 + 16 = 25 = 5**2.
问: 请找出 a,b,c,恰好符合勾股定理, 而其中 a+b+c=1000.
返回, a * b * c
值.
资源
欧拉项目,问题 9http://projecteuler.net/problem=9
2. 开始你的表演
pub fn find() -> Option<u32> { unimplemented!(); }
3. 测试代码查看
# #![allow(unused_variables)] #fn main() { #[test] fn test_answer() { assert_eq!(find(), Some(31875000)); } #}
4. 答案
# #![allow(unused_variables)] #fn main() { pub fn find() -> Option<u32> { for a in 1..1000 { for b in (a + 1)..(1000 - a) { let c = 1000 - (a + b); if a * a + b * b == c * c { return Some(a * b * c); } } } None } #}