Project Euler 9

题意:三个正整数a + b + c = 1000,a*a + b*b = c*c。求a*b*c。

解法:可以暴力枚举,但是也有数学方法。

   首先,a,b,c中肯定有至少一个为偶数,否则和不可能为以上两个等式均不会成立。然后,不可能a,b为奇c为偶,否则a*a%4=1, b*b%4=1, 有(a*a+b*b) %4 = 2,而c*c%4 = 0。也就是说,a和b中至少有一个偶数。

   这是勾股数的一个性质,a,b中至少有一个偶数。

   然后,解决过程见下(来自project euler的讨论):

tag:math

 

posted @ 2014-01-16 18:40  Plumrain  阅读(128)  评论(0编辑  收藏  举报