示例#1
0
        public override int GetResult()
        {
            int index = MathTemplate.GenerateRandomNumber(potential_numbers.Count);

            result = potential_numbers[index];
            return(result);
        }
示例#2
0
        public static T List_GetRandomNumber <T>(List <T> potential_numbers)
        {
            Random rand   = new Random();
            int    index  = MathTemplate.GenerateRandomNumber(potential_numbers.Count);
            T      result = potential_numbers[index];

            return(result);
        }
示例#3
0
        public new string GetResult()
        {
            int    index = MathTemplate.GenerateRandomNumber(potential_numbers.Count);
            string temp  = potential_numbers[index].ToString();

            result = temp;
            return(result);
        }
示例#4
0
        public override int GetResult()
        {
            int temp = MathTemplate.GenerateRandomNumber(0, 2);

            if (temp == 0)
            {
                return(first_nmb);
            }
            else
            {
                return(second_nmb);
            }
        }
示例#5
0
        public fraction_numer_denom_interpr(string s1)
        {
            if ((s1.ToLower()).Contains("whole"))
            {
                final_denominator = final_numerator = MathTemplate.GenerateRandomNumber(1, 999);
                return;
            }
            string[] words         = s1.Split(' ');
            string[] s_numer_denom = words[2].Split('/');
            numerator   = int.Parse(s_numer_denom[0]);
            denominator = int.Parse(s_numer_denom[1]);
            int multiplier     = 1;
            int biggest_number = 1;

            do
            {
                multiplier     = MathTemplate.GenerateRandomNumber(1, 100);
                biggest_number = numerator > denominator ? multiplier * numerator : multiplier * denominator;
            }while(biggest_number > 1000);

            final_denominator = denominator * multiplier;
            final_numerator   = numerator * multiplier;
        }
示例#6
0
 public override int GetResult()
 {
     result = MathTemplate.GenerateRandomNumber(first_number, second_number);
     return(result);
 }
示例#7
0
        private static string Create_string_to_output(string first_num, string second_num)
        {
            string final_num    = "";
            string final_first  = "";
            string final_second = "";

            #region Конвертуємо вхідну стрічку з дробовими у стрічку з цілими для знаходження числа з проміжку між числами
            if (first_num.Contains('.'))
            {
                for (int i = 0; i < first_num.Length; i++)
                {
                    if (first_num[i] != '.')
                    {
                        final_first += first_num[i];
                    }
                }
            }
            else
            {
                final_first = first_num;
            }

            if (second_num.Contains('.'))
            {
                for (int i = 0; i < second_num.Length; i++)
                {
                    if (second_num[i] != '.')
                    {
                        final_second += second_num[i];
                    }
                }
            }
            else
            {
                final_second = second_num;
            }
            #endregion

            #region Зрівнюємо два числа по довжині
            if (final_first.Length > final_second.Length)
            {
                do
                {
                    final_second += "0";
                } while (final_first.Length != final_second.Length);
            }
            else if (final_second.Length > final_first.Length)
            {
                do
                {
                    final_first += "0";
                } while (final_first.Length != final_second.Length);
            }

            for (int i = int.Parse(final_first); i <= int.Parse(final_second); i++)
            {
                potential_numbers.Add(i.ToString());
            }
            #endregion

            potential_numbers = potential_numbers.Distinct().ToList();

            //Випадково вибираємо число
            int    index = MathTemplate.GenerateRandomNumber(potential_numbers.Count);
            string temp  = potential_numbers[index];
            final_num += temp[0];
            final_num += ".";
            for (int i = 1; i < temp.Length; i++)
            {
                final_num += temp[i];
            }

            return(final_num);
        }
示例#8
0
        public fraction_percent_equiv_interpr(string s1)
        {
            string[] words = s1.Split(' ');

            if (!(s1.ToLower()).Contains("from"))
            {
                string temp = words[2];


                for (int i = 0; i < temp.Length - 1; i++)
                {
                    percent += temp[i];
                }

                input.numerator   = int.Parse(percent);
                input.denominator = 100;

                //Скорочення дробу для захоплення всіх можливих варіантів
                final = ToReduce(input);

                //Добавлення до потенційних чисел десяткові дроби
                for (int i = 1; i < 100; i++)
                {
                    if (i.ToString() == percent)
                    {
                        string number = "";
                        if (i < 10)
                        {
                            number = "0.0";
                        }
                        else
                        {
                            number = "0.";
                        }
                        number += i.ToString();
                        potential_numbers.Add(number);
                        break;
                    }
                }

                //Добавлення до потенційних чисел звичайні дроби
                do
                {
                    string number = final.numerator.ToString() + "/" + final.denominator.ToString();
                    potential_numbers.Add(number);
                    final.numerator   *= 2;
                    final.denominator *= 2;
                } while (final.denominator < 1000);
            }
            else
            {
                string temp      = words[1];
                string first_num = "";

                for (int i = 0; i < temp.Length - 1; i++)
                {
                    first_num += temp[i];
                }

                temp = words[3];
                string second_num = "";

                for (int i = 0; i < temp.Length - 1; i++)
                {
                    second_num += temp[i];
                }

                int percent = MathTemplate.GenerateRandomNumber(int.Parse(first_num), int.Parse(second_num));

                input.numerator   = percent;
                input.denominator = 100;

                //Скорочення дробу для захоплення всіх можливих варіантів
                final = ToReduce(input);

                //Добавлення до потенційних чисел десяткові дроби
                for (int i = 1; i < 100; i++)
                {
                    if (i == percent)
                    {
                        string number = "";
                        if (i < 10)
                        {
                            number = "0.0";
                        }
                        else
                        {
                            number = "0.";
                        }
                        number += i.ToString();
                        potential_numbers.Add(number);
                        break;
                    }
                }

                //Добавлення до потенційних чисел звичайні дроби
                do
                {
                    string number = final.numerator.ToString() + "/" + final.denominator.ToString();
                    potential_numbers.Add(number);
                    final.numerator   *= 2;
                    final.denominator *= 2;
                } while (final.denominator < 1000);
            }
        }