wingman007 icon

2019_KandidatStudentskiKurs_RecursionOOP

wingman007 | PRO | 03/16/19 10:07:55 AM UTC | 0 ⭐ | 1107 👁️ | Never ⏰ | []
C# |

3.12 KB

|

None

|

0 👍

/

0 👎

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;
        }
    }
}

Comments