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的讨论):

Project Euler 9

tag:math

Project Euler 9

上一篇:目录、目录项、文件名、inode、软硬链接的关系


下一篇:ubuntu12.04ppa安装emacs24