static void Main(string[] args) { int n; Console.WriteLine("For Fibonacci number and series: "); n = getUserInput(); int tmp; Calculator c = new Calculator(); { Timer timer = new Timer(); tmp = c.naiveCalcFib(n); timer.Stop(); } Console.WriteLine("Naive fibonacci: " + tmp); { Timer timer = new Timer(); tmp = c.hashFibCalc(n); timer.Stop(); } Console.WriteLine("Fibonacci with hash table: " + tmp); Console.WriteLine("Fibonacci series:"); IEnumerable <uint> tmpFibSeries; { Timer timer = new Timer(); tmpFibSeries = c.GetFibSeries(n); timer.Stop(); } foreach (int i in tmpFibSeries) { Console.Write(i + " "); } Console.WriteLine("\nThe factorial of {0} = {1}", n, c.calcFactorial(n)); // the number of pupils int number_of_pupils = 10; List <Pupil> pupils = new ModelGenerator().GenerateMany(number_of_pupils); // sort by age pupils = pupils.OrderByDescending(o => o.Age).ToList(); PrintPupils(pupils); Console.WriteLine("Group by average mark: "); var pupilGroups = from phone in pupils group phone by phone.AverageMark; foreach (IGrouping <int, Pupil> g in pupilGroups) { Console.WriteLine(g.Key); foreach (var t in g) { Console.WriteLine("Name: " + t.Name + " age: " + t.Age); } Console.WriteLine(); } Console.WriteLine("Separate odd and even: "); n = getUserInput(); List <int> my_list = new List <int>(); Random r = new Random(); foreach (int one in Enumerable.Range(0, n)) { my_list.Add(r.Next(0, n)); } int[] tmp_array = my_list.ToArray(); List <List <int> > output = Grouper.Group(tmp_array); Console.ReadLine(); }