这个题目。。。还么有找到最好的解决途径。。先这么写吧。。 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.IO; //输出结果: //这1000个数字当中连续的5位乘积最大的是:40824 //Find the greatest product of five consecutive digits in the 1000-digit number.. namespace Problem8 { class Program { static void Main(string[] args) { StreamReader sr = new StreamReader("TextFile1.txt"); string[] s = new string[20]; int i = 0; while (!sr.EndOfStream) { s[i++] = sr.ReadLine(); } string s1 = string.Concat(s); Console.WriteLine("这1000个数字当中连续的5位乘积最大的是:{0}", SearchLargest(s1)); } //做个方法:输入为一个字符串,寻找这个字符串中最大的5位数乘积返回 public static int SearchLargest(string s) { char[] ch = s.ToCharArray(); int sum = 1; List<int> list = new List<int>(); for (int i = 0; i < ch.Length - 4; i++) { sum = 1; for (int j = i; j< i+5; j++) { sum *= int.Parse(string.Format("{0}", ch[j])); } list.Add(sum); } list.Sort(); return list.Last(); } } }