博客园的回复去掉了缩进,太难看,转移到这里.
Mac-mini:projectEuler$ time ./q008SpecialPythagoreanTriplet
375 200 425real 0m0.015s
user 0m0.012s
sys 0m0.002s
Mac-mini:projectEuler $ cat q008SpecialPythagoreanTriplet.d
/*
A Pythagorean triplet is a set of three natural numbers, a b c, for which,
a2 + b2 = c2
For example, 32 + 42 = 9 + 16 = 25 = 52.
There exists exactly one Pythagorean triplet for which a + b + c = 1000.
Find the product abc.
*/
import std.stdio;
void main(){
int[int] u;
foreach(a;1..1000-1) u[a^^2]=a;
foreach(c;1..1000-1)
foreach(b;1..1000-c)
if(c^^2-b^^2 in u && u[c^^2-b^^2]==1000-b-c){
writeln(u[c^^2-b^^2],"\t",b,"\t",c);
return;
}
}