using System; using System.Collections.Generic; using System.Text; using System.Collections; namespace projecteuler014 { class Program { static int[] data = new int[1000001]; static void Main(string[] args) { F1(); } private static void F1() { Console.WriteLine(new System.Diagnostics.StackTrace().GetFrame(0).GetMethod()); DateTime timeStart = DateTime.Now; int maxLength = int.MinValue; int number = int.MinValue; for (int i = 1; i <= 1000000; i++) { data[i] = getChain(i); if (maxLength < data[i]) { maxLength = data[i]; number = i; } } Console.WriteLine("The longest chain contains " + maxLength + " items.\nThe number is " + number); Console.WriteLine("Total Milliseconds is " + DateTime.Now.Subtract(timeStart).TotalMilliseconds + "\n\n"); } /// <summary> /// 获取链中所有元素相乘的结果 /// </summary> /// <param name="n"></param> /// <returns></returns> private static int getChain(long n) { int count = 1; while (n != 1) { if (n % 2 == 0) { n = n >> 1; } else { n = 3 * n + 1; } if (n < 1000000 && data[n] != 0) { return count + data[n]; } count++; } return count; } } } /* Void F1() The longest chain contains 525 items. The number is 837799 Total Milliseconds is 346.544 By GodMoon */
【上篇】Android异步加载图片详解之方式一(4)
【下篇】the type java.lang.object cannot be resolved. it is indirectly reference
【下篇】the type java.lang.object cannot be resolved. it is indirectly reference