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
}

#}



填充/相关