Exemplo n.º 1
0
        /// <task_description>
        /// 5. Modify the previous program such that only multiples of three
        /// or five are considered in the sum, e.g. 3, 5, 6, 9, 10, 12, 15 for n=17
        /// <previous> 4. Write a program that asks the user for a number n and prints
        /// the sum of the numbers 1 to n</previous>
        /// </task_description>
        public override void ExerciseRun()
        {
            long sum    = 0;
            int  number = ServiceClass.InputPositiveIntegerNumber();

            long RestrictedFactorial(int num)
            {
                if (num == 1)
                {
                    return(0);
                }
                if (num % 3 == 0 || num % 5 == 0)
                {
                    sum = num + RestrictedFactorial(num - 1);
                }
                else
                {
                    sum = RestrictedFactorial(num - 1);
                }

                return(sum);
            }

            for (int i = number; i > 0; i--)
            {
                if (i % 3 == 0 || i % 5 == 0)
                {
                    sum += i;
                }
            }
            Console.WriteLine($"sum of numbers from 1 to {number}, such that only multiples of three or five = {RestrictedFactorial(number)}");
        }
Exemplo n.º 2
0
        /// <task_description>
        /// 6.Write a program that asks the user for a number n and gives them
        /// the possibility to choose between computing the sum and computing
        /// the product of 1,…,n.
        /// </task_description>
        public override void ExerciseRun()
        {
            var choiсe = AskSumOrProduct.Ask();
            int number;

            switch (choiсe)
            {
            case "s":
                Console.WriteLine($"The sum of the numbers from 1 to {number = ServiceClass.InputPositiveIntegerNumber()} = {Sum(number)}");
                break;

            case "p":
                Console.WriteLine($"The product of the numbers from 1 to {number = ServiceClass.InputPositiveIntegerNumber()} = {Product(number)}");
                break;

            case "e":
                break;

            default:
            {
                Console.WriteLine("Data you've inputted is incorrect. Let's try again.");
                ExerciseRun();
            }
            break;
            }
        }
Exemplo n.º 3
0
        void StartGame()
        {
            for (int i = 0; i < 18; i++)
            {
                Console.Write("* ");
                int delay = 500 - (i * 30) + 20;
                if (delay < 0)
                {
                    delay = 0;
                }
                System.Threading.Thread.Sleep(delay);
            }
            Console.WriteLine("\nI've just thought a number. What the number is?\n" +
                              "Input your guess and press \"Enter\"");
            var rnd           = new Random();
            int thoughtNumber = rnd.Next(1, 100);
            int guessNumber   = (int)ServiceClass.InputPositiveIntegerNumber();
            int previousGuessNumber;
            int tryCounter = 1;

            while (guessNumber != thoughtNumber)
            {
                previousGuessNumber = guessNumber;
                if (guessNumber < thoughtNumber)
                {
                    Console.WriteLine("Your number is TOO SMALL");
                }
                else
                {
                    Console.WriteLine("Your number is TOO LARGE");
                }
                guessNumber = (int)ServiceClass.InputPositiveIntegerNumber();
                if (previousGuessNumber != guessNumber)
                {
                    tryCounter++;
                }
            }
            Console.WriteLine("!!!CONGRATULATIONS, YOU WON!!!\n" +
                              $"The number is {thoughtNumber}. You've done it in {tryCounter} tries!\n\n");
            System.Threading.Thread.Sleep(3000);
            Console.WriteLine("Want to play one more time? >>> press SPACE-key\n" +
                              "For escape press any other key\n");

            if (Console.ReadKey(true).KeyChar == ' ')
            {
                StartGame();
            }
        }
Exemplo n.º 4
0
        public override void ExerciseRun()
        {
            long sum    = 0;
            int  number = ServiceClass.InputPositiveIntegerNumber();

            for (int i = number; i > 0; i--)
            {
                sum += i;
            }
            Console.WriteLine($"sum of numbers from 1 to {number} (calculated by cycle) = {sum}");



            long Factorial(int num)
            {                          // не могу понять почему не получается перехватить исключение на этой строке
                try
                {
                    if (num == 1)
                    {
                        return(1);
                    }
                    sum = num + Factorial(num - 1);
                    return(sum);
                }
                catch (StackOverflowException)
                {
                    Console.WriteLine($"Recursive method of calculating of sum from 1 to {number} failed, supposedly becase of StackOverflow EXEPTION");
                    return(0);
                }
            }

            try
            {
                Console.WriteLine($"sum of numbers from 1 to {number} (calculated by recursion) = {Factorial(number)}");
            }
            catch (StackOverflowException)
            {
                Console.WriteLine($"Recursive method of calculating of sum from 1 to {number} failed, supposedly becase of StackOverflow EXEPTION");
            }
        }