using System; class Student { public string Name { get; set; } public int Age { get; set; } public DateTime Birthdate { get; set; } public string Town { get; set; } } class Program { static void Main() { //string student1Name = "Demetra"; //string[] studentNames = new string[100]; //string[] studentTowns = new string[100]; Student demetra = new Student(); demetra.Name = "Demtra"; demetra.Age = 18; demetra.Birthdate = new DateTime(1990, 4, 29); demetra.Town = "Plovdiv"; Student djulian = new Student(); djulian.Name = "Djulian"; djulian.Age = 20; djulian.Birthdate = new DateTime(1991, 6, 29); djulian.Town = "Karlovo"; Student[] students = new Student[100]; InputStudents(students); Console.WriteLine("My name is {0}. I am {1} years old!", demetra.Name, demetra.Age); Console.WriteLine("My name is {0}. I am {1} years old!", djulian.Name, djulian.Age); Console.Write("I will give you the sum and factorial of all number to n. Please, enter n: "); int n = int.Parse(Console.ReadLine()); int sum = 0; checked { sum = GetSumIteration(n); } Console.WriteLine("The sum of all number to n = {0} is {1}", n, sum); // sum = Sum(n); // Console.WriteLine("The sum of all number to n = {0} is {1}", n, sum); int factorial = 0; factorial = Factorial(n); Console.WriteLine("{0}! = {1}", n, factorial); // 0, 1, 1, 2, 3, 5, 8, 13 // Fibonacci(n) = Fibonacci(n - 2) + Fibonacci(n - 1) int fibonacci = 0; fibonacci = Fibonacci(n); Console.WriteLine("Fibonacci({0}) = {1}", n, fibonacci); } static int GetSumIteration(int n) { int sum = 0; for (int i = 0; i <= n; i++) { checked { sum += i; } } return sum; } // Sum(n) = Sum(n-1) + n Sum(0) = 0; static int Sum(int n) { // 1. Check for the end of the recursion if (n == 0) return 0; // 2. change the parameter // 3. call the same function return Sum(n - 1) + n; } // 2. 0! = 1, n! = (n - 1)! * n; static int Factorial(int n) // ! { if (n == 0) return 1; return Factorial(n - 1) * n; } static int Fibonacci(int n) { if (n <= 0) return 0; if (n <= 2) return 1; return Fibonacci(n - 2) + Fibonacci(n - 1); } static void InputStudents(Student[] students) { for (int i = 0; i < students.Length; i++) { Student student = new Student(); Console.WriteLine("Please, enter a name for student {0}: ", i); student.Name = Console.ReadLine(); Console.WriteLine("Please, enter an age for student {0}: ", i); student.Age = int.Parse(Console.ReadLine()); students[i] = student; } } }