using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Diagnostics; //输出结果 //sum:233168 //Time:00:00:00.0013817 //sum:233168 //Time:00:00:00.0014540 //Find the sum of all the multiples of 3 or 5 below 1000. namespace Problem1 { class Program { static void Main(string[] args) { #region 第一种方法 //第一种方法,最容易想到的。除3得0或者除5得0 Stopwatch sw = new Stopwatch(); sw.Start(); int sum = 0; for (int i = 0; i < 1000; i++) { if (i % 3 == 0 || i % 5 == 0) { sum += i; } } Console.WriteLine("sum:{0}", sum); sw.Stop(); Console.WriteLine("Time:{0}", sw.Elapsed); #endregion #region 第二种方法 //先计算3,6,9的和加上5,10,的和减去15,30的和 sw.Start(); int sum1 = 0, sum2 = 0; for (int i = 0; i <= 333; i++) { sum1 += i * 3; } for (int i = 0; i <200; i++) { if ((i * 5) % 3 == 0) { continue; } sum2 += i * 5; } Console.WriteLine("sum:{0}", sum1 + sum2); sw.Stop(); Console.WriteLine("Time:{0}", sw.Elapsed); #endregion Console.ReadLine(); } } }