很容易想到的方法。。。 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Diagnostics; //输出结果 //200^2+375^2=40000+140625=180625=425^2 //三个数的乘积为:31875000 //所花费的时间为:00:00:01.3156605 //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. namespace Problem10 { class Program { static void Main(string[] args) { Stopwatch sw = new Stopwatch(); int flag = 0; sw.Start(); for (int i = 1; i < 1000; i++) { if (flag == 1) { break; } for (int j = 1; j < 1000; j++) { for (int k = 1; k < 1000; k++) { if (i + j + k == 1000 && i < j && j < k && i * i + j * j == k * k) { Console.WriteLine("{0}^2+{1}^2={2}+{3}={4}={5}^2", i, j, i * i, j * j, k * k, k); Console.WriteLine("三个数的乘积为:{0}", i * j * k); flag = 1; break; } } } } sw.Stop(); Console.WriteLine("所花费的时间为:{0}", sw.Elapsed); } } }