Beispiel #1
0
        static void Main(string[] args)
        {
            const int FibonacciCalculations = 50;
            System.Diagnostics.Stopwatch watch = new System.Diagnostics.Stopwatch();
            // One event is used for each Fibonacci object
            ManualResetEvent[] doneEvents = new ManualResetEvent[FibonacciCalculations];
            Fibonacci[] fibArray = new Fibonacci[FibonacciCalculations];
            Random r = new Random();

            watch.Start();

            // Configure and launch threads using ThreadPool:
            Console.WriteLine("launching {0} tasks...", FibonacciCalculations);
            for (int i = 0; i < FibonacciCalculations; i++) {
                doneEvents[i] = new ManualResetEvent(false);
                //Fibonacci f = new Fibonacci(r.Next(20, 40), doneEvents[i]);
                Fibonacci f = new Fibonacci(i, doneEvents[i]);
                fibArray[i] = f;
                ThreadPool.QueueUserWorkItem(f.ThreadPoolCallback, i);
            }

            // Wait for all threads in pool to calculation...
            WaitHandle.WaitAll(doneEvents);
            Console.WriteLine("All calculations are complete.");
            watch.Stop();
            // Display the results...
            for (int i = 0; i < FibonacciCalculations; i++) {
                Fibonacci f = fibArray[i];
                Console.WriteLine("Fibonacci({0}) = {1}", f.N, f.FibOfN);
            }
            Console.WriteLine("Calculations were done in {0} seconds ", watch.Elapsed.TotalSeconds);
            Console.ReadKey();
        }
        public void Fibonacci_Get_First_5_Elements_Returns_11235(int numberOfElements, string expectedResult)
        {
            var fibonacci = new Fibonacci();
            var result = fibonacci.GetSequence(numberOfElements);

            Assert.AreEqual(expectedResult, result);
        }
Beispiel #3
0
    static void Main()
    {
        const int FibonacciCalculations = 10;

        // One event is used for each Fibonacci object
        var doneEvents = new ManualResetEvent[FibonacciCalculations];
        var fibArray = new Fibonacci[FibonacciCalculations];
        var r = new Random();

        // Configure and launch threads using ThreadPool:
        Console.WriteLine("launching {0} tasks...", FibonacciCalculations);
        for (int i = 0; i < FibonacciCalculations; i++)
        {
            doneEvents[i] = new ManualResetEvent(false);
            Fibonacci f = new Fibonacci(r.Next(20,40), doneEvents[i]);
            fibArray[i] = f;
            ThreadPool.QueueUserWorkItem(f.ThreadPoolCallback, i);
        }

        // Wait for all threads in pool to calculation...
        WaitHandle.WaitAll(doneEvents);
        Console.WriteLine("All calculations are complete.");

        // Display the results...
        for (int i= 0; i<FibonacciCalculations; i++)
        {
            Fibonacci f = fibArray[i];
            Console.WriteLine("Fibonacci({0}) = {1}", f.N, f.FibOfN);
        }
    }
        public static void Main(string[] args)
        {
            Fibonacci    fib = new Fibonacci();
            BinarySearch bs  = new BinarySearch();

            Console.WriteLine(fib.getrecursiveFibonacci(5));
            Console.WriteLine(fib.getarrayFionacci(5));
            Console.WriteLine(bs.getSquareRoot(16));
            while (true)
            {
            }
        }
Beispiel #5
0
        public void FibonacciTest2()
        {
            string expected  = "4,5,9,14,23";
            int    n         = 5;
            int    startpos1 = 4;
            int    startpos2 = 5;

            string output = Fibonacci.GetFibonacciSeries(startpos1, startpos2, n);

            Console.WriteLine(output);
            Assert.AreEqual(expected, output);
        }
Beispiel #6
0
    static void Main()
    {
        var fibNumbers = new List <BigInteger>();
        var start      = int.Parse(Console.ReadLine());
        var end        = int.Parse(Console.ReadLine());

        var fibonacci = new Fibonacci(fibNumbers, end);

        var result = fibonacci.GetNumbersInRange(start, end);

        Console.WriteLine(string.Join(", ", result));
    }
Beispiel #7
0
        public void MemoryCache()
        {
            var fibonacci = new Fibonacci(new MemoryCache());

            var number1 = fibonacci.GetByIndex(5);
            var number2 = fibonacci.GetByIndex(6);
            var number3 = fibonacci.GetByIndex(7);

            Assert.AreEqual(5, number1);
            Assert.AreEqual(8, number2);
            Assert.AreEqual(13, number3);
        }
Beispiel #8
0
        public void FibonacciTest1()
        {
            string expected  = "0,1,1,2,3,5,8,13,21,34,55,89,144";
            int    n         = 13;
            int    startpos1 = 0;
            int    startpos2 = 1;

            string output = Fibonacci.GetFibonacciSeries(startpos1, startpos2, n);

            Console.WriteLine(output);
            Assert.AreEqual(expected, output);
        }
Beispiel #9
0
        // POST: odata/Fibonaccis
        public IHttpActionResult Post(Fibonacci fibonacci)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            db.Fibonaccis.Add(fibonacci);
            db.SaveChanges();

            return(Created(fibonacci));
        }
        public void RedisCache()
        {
            var fibonacci = new Fibonacci(new RedisCache <int>("localhost", cachePolicyService));

            var number1 = fibonacci.GetByIndex(5);
            var number2 = fibonacci.GetByIndex(6);
            var number3 = fibonacci.GetByIndex(7);

            Assert.AreEqual(5, number1);
            Assert.AreEqual(8, number2);
            Assert.AreEqual(13, number3);
        }
Beispiel #11
0
    public static void Main(string[] args)
    {
        int       numElements = 10;
        Fibonacci fibonacci   = new Fibonacci(numElements);

        int[] fiboResult = fibonacci.getFibonacci();
        Console.WriteLine("Sequência fibonacci de '" + numElements + "' é:");
        for (int i = 0; i < fiboResult.Length; i++)
        {
            Console.Write(fiboResult[i] + " ");
        }
    }
Beispiel #12
0
 public IHttpActionResult Get(int n)
 {
     try
     {
         var result = new Fibonacci(n).GetNth();
         return(Ok(result));
     }
     catch (OverflowException)
     {
         return(BadRequest());
     }
 }
        public static void Run()
        {
            Fibonacci.Draw(20);

            int  number = 6;
            long fact   = Factorial.Calculate(number);

            WriteLine($"\nFactorial of {number} is {fact}");

            number = 371;
            WriteLine($"{number} is{(ArmstrongNumber.Find(number) ? "" : " NOT")} Armstrong Number");
        }
        public void SmallestNumberForNDigitsFibonacciTests()
        {
            // This is https://oeis.org/A072354 with a padding 0 in front
            var a072354Sequence = new uint[] { 0, 1, 7, 12, 17, 21, 26, 31, 36, 40, 45, 50, 55, 60, 64, 69, 74, 79, 84, 88, 93, 98, 103, 107, 112, 117, 122, 127, 131, 136, 141, 146, 151, 155, 160, 165, 170, 174, 179, 184, 189, 194, 198, 203, 208, 213, 217, 222, 227, 232, 237 };

            for (uint value = 1; value < a072354Sequence.Length; value++)
            {
                Assert.AreEqual(expected: a072354Sequence[value], actual: Fibonacci.SmallestNumberForNDigitsFibonacci(value));
            }

            Console.WriteLine($"The first Fibonacci number with 1000 digits is of order {Fibonacci.SmallestNumberForNDigitsFibonacci(1000)}");
        }
        private void calculate_Click(object sender, EventArgs e)
        {
            // convert input to an integer
            int n = Convert.ToInt32(input.Text);

            // calculate the appropriate fibonacci number
            // this part is from the FSharp libraries
            // NOTE:
            n = Fibonacci.get(n);
            // display the result to the user
            result.Text = n.ToString();
        }
        public List <string> CalculateFibonacci(Fibonacci model)
        {
            //Keep track of
            _logger.LogInformation("***Beginning Fibonacci Info***");
            _logger.LogInformation($"The number of entries the user entered is: {model.Input}");

            List <string> returnList = new List <string>();
            int           num1       = 0;
            int           num2       = 1;
            int           num3;

            //Put the first two numbers of the fib series into the array
            returnList.Add($"{num1}");
            returnList.Add($"{num2}");

            if (model.Input == 1)
            {
                returnList.RemoveAt(1);
            }

            else if (model.Input == 2)
            {
                return(returnList);
            }

            //Get the subsequent numbers after the first two numbers in the series and put
            //them into a List of ints
            else if (model.Input > 2)
            {
                for (int i = 2; i < model.Input; i++)
                {
                    num3 = num1 + num2;

                    num1 = num2;
                    num2 = num3;

                    returnList.Add($"{num3}");
                }

                _logger.LogInformation("List of numbers were calculated without exceptions.");
            }

            _logger.LogInformation("All the numbers inside the Fibonacci List");

            foreach (var number in returnList)
            {
                _logger.LogInformation($"{number}");
            }

            _logger.LogInformation("***Ending Fibonacci Info***");
            return(returnList);
        }
        public void FibonacciIsCorrectSequence()
        {
            Fibonacci test = new Fibonacci();

            test.CreateNumbers(7);

            List <int> testList = new List <int>()
            {
                0, 1, 1, 2, 3, 5, 8
            };

            CollectionAssert.AreEqual(testList, test.Numbers);
        }
 public void SummationOfEvenFibonacciSimpleTests()
 {
     Assert.AreEqual(expected: (uint)0, actual: Fibonacci.SummationOfEvenFibonacci(0));
     Assert.AreEqual(expected: (uint)0, actual: Fibonacci.SummationOfEvenFibonacci(1));
     Assert.AreEqual(expected: (uint)0, actual: Fibonacci.SummationOfEvenFibonacci(2));
     Assert.AreEqual(expected: (uint)2, actual: Fibonacci.SummationOfEvenFibonacci(3));
     Assert.AreEqual(expected: (uint)2, actual: Fibonacci.SummationOfEvenFibonacci(4));
     Assert.AreEqual(expected: (uint)2, actual: Fibonacci.SummationOfEvenFibonacci(5));
     Assert.AreEqual(expected: (uint)10, actual: Fibonacci.SummationOfEvenFibonacci(6));
     Assert.AreEqual(expected: (uint)44, actual: Fibonacci.SummationOfEvenFibonacci(9));
     Assert.AreEqual(expected: (uint)188, actual: Fibonacci.SummationOfEvenFibonacci(12));
     Assert.AreEqual(expected: (uint)798, actual: Fibonacci.SummationOfEvenFibonacci(15));
 }
Beispiel #19
0
        public void Realize_ArgumentException_Test()
        {
            Exception expectedException = new ArgumentException();

            try
            {
                IEnumerable <int> fibonacci = Fibonacci.Realize(-5);
            }
            catch (ArgumentException ex)
            {
                Assert.That(ex, Is.EqualTo(expectedException));
            }
        }
Beispiel #20
0
        public void CalculateFibonacci_Postion_Negative_Should_Return_0()
        {
            //assemble
            int       postion       = -3;
            int       expectedValue = 0;
            Fibonacci fibonacci     = new Fibonacci();

            //act
            int actualValue = fibonacci.CalculateFibonacci(postion);

            //assert
            Assert.AreEqual(expectedValue, actualValue);
        }
Beispiel #21
0
        public void CalculateFibonacci_Postion_40_Should_Return_102334155()
        {
            //assemble
            int       postion       = 40;
            int       expectedValue = 102334155;
            Fibonacci fibonacci     = new Fibonacci();

            //act
            int actualValue = fibonacci.CalculateFibonacci(postion);

            //assert
            Assert.AreEqual(expectedValue, actualValue);
        }
Beispiel #22
0
 public void GetNumber(int value)
 {
     Assert.Equal <int>(1, Fibonacci.GetNumber(1));
     Assert.Equal <int>(1, Fibonacci.GetNumber(2));
     Assert.Equal <int>(2, Fibonacci.GetNumber(3));
     Assert.Equal <int>(3, Fibonacci.GetNumber(4));
     Assert.Equal <int>(5, Fibonacci.GetNumber(5));
     Assert.Equal <int>(8, Fibonacci.GetNumber(6));
     Assert.Equal <int>(13, Fibonacci.GetNumber(7));
     Assert.Equal <int>(21, Fibonacci.GetNumber(8));
     Assert.Equal <int>(34, Fibonacci.GetNumber(9));
     Assert.Equal <int>(55, Fibonacci.GetNumber(10));
 }
Beispiel #23
0
    public void Test()
    {
        Fibonacci fib = new Fibonacci();

        Assert.AreEqual(0, fib.NthFib(1));
        Assert.AreEqual(1, fib.NthFib(2));
        Assert.AreEqual(1, fib.NthFib(3));
        Assert.AreEqual(2, fib.NthFib(4));
        Assert.AreEqual(3, fib.NthFib(5));
        Assert.AreEqual(5, fib.NthFib(6));
        Assert.AreEqual(8, fib.NthFib(7));
        Assert.AreEqual(13, fib.NthFib(8));
    }
        public void FibonaccioneAsInput()
        {
            Fibonacci fibonacciExpected = new Fibonacci();

            fibonacciExpected.FibonacciSequence = new List <int> {
                0
            };
            fibonacciExpected.Message = "Success";
            Fibonacci fibonacciActual = fibanocciService.GenerateFebinocciSeries(1);

            Assert.IsTrue(fibonacciExpected.FibonacciSequence.SequenceEqual(fibonacciActual.FibonacciSequence));
            Assert.AreEqual(fibonacciExpected.Message, fibonacciActual.Message);
        }
            public double TimeExecution(Fibonacci calculator)
            {
                int repetitions = 0;
                var watch       = Stopwatch.StartNew();

                while ((watch.ElapsedMilliseconds < 1000) || (repetitions < 3))
                {
                    code(calculator);
                    repetitions++;
                }
                watch.Stop();
                return(watch.ElapsedMilliseconds * 1000.0 / (double)repetitions);
            }
        public void FibonacciSequenceTest()
        {
            Fibonacci fibonacciExpected = new Fibonacci();

            fibonacciExpected.FibonacciSequence = new List <int> {
                0, 1, 1, 2, 3, 5, 8, 13, 21
            };
            fibonacciExpected.Message = "Success";
            Fibonacci fibonacciActual = fibanocciService.GenerateFebinocciSeries(9);

            Assert.IsTrue(fibonacciExpected.FibonacciSequence.SequenceEqual(fibonacciActual.FibonacciSequence));
            Assert.AreEqual(fibonacciExpected.Message, fibonacciActual.Message);
        }
Beispiel #27
0
        public void Test_gerar_20_termos()
        {
            Fibonacci objeto = new Fibonacci();

            int[] arrayEsperado = new int[20]
            {
                0, 1, 1, 2, 3, 5, 8, 13, 21,
                34, 55, 89, 144, 233, 377,
                610, 987, 1597, 2584, 4181
            };
            int[] arrayAtual = objeto.gerarSequencia(20);
            CollectionAssert.AreEqual(arrayEsperado, arrayAtual);
        }
Beispiel #28
0
        public void Newly_created_object_returns_first_ten_items_when_GetNext_called()
        {
            var sut = new Fibonacci();

            var fibonacciSequence = new ulong[] { 0, 1, 1, 2, 3, 5, 8, 13, 21, 34 };

            foreach (var item in fibonacciSequence)
            {
                var nextFibonacciItem = sut.GetNext();

                nextFibonacciItem.Should().Be(item);
            }
        }
        //static char[] digitChars = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F' };
        // This sample program implements the IEnumerable / IEnumerator interfaces in creative ways
        static void Main(string[] args)
        {
            // IComparable
            SortPeople();


            Sentence sentence = new Sentence("");

            foreach (string word in sentence)
            {
                Console.WriteLine($"Word: {word}");
            }
            //Sentence sentence = new Sentence("The quick brown fox jumped over the lazy dog.");
            //foreach (string word in sentence)
            //{
            //    Console.WriteLine($"Word: {word}");
            //}

            Fibonacci fib = new Fibonacci(1000);

            foreach (int n in fib)
            {
                Console.WriteLine(n);
            }

            Digits digits = new Digits(98734567, 10);

            foreach (char digit in digits)
            {
                Console.Write(digit);
            }
            Console.WriteLine();
            Console.WriteLine("====================================");

            digits = new Digits(1010, 16);
            foreach (char digit in digits)
            {
                Console.Write(digit);
            }
            Console.WriteLine();
            Console.WriteLine("====================================");

            digits = new Digits(99, 2);
            foreach (char digit in digits)
            {
                Console.Write(digit);
            }
            Console.WriteLine();
            Console.ReadKey();
        }
        private static void RunFibonacci()
        {
            Console.WriteLine("Please enter a value for \"n\".");
            int n;

            if (!int.TryParse(Console.ReadLine(), out n))
            {
                throw new ArgumentException("Invalid input for n. It should be an Integer number.");
            }

            Fibonacci f = new Fibonacci();

            Console.WriteLine($"The nth term is: {f.CalculateFibonacci(n)}");
        }
Beispiel #31
0
        public void Test()
        {
            Fibonacci f = new Fibonacci();

            Assert.Equal(0, f.FibonacciNonRecursion(0));
            Assert.Equal(1, f.FibonacciNonRecursion(1));
            Assert.Equal(1, f.FibonacciNonRecursion(2));
            Assert.Equal(13, f.FibonacciNonRecursion(7));

            Assert.Equal(0, f.FibonacciWithRecursion(0));
            Assert.Equal(1, f.FibonacciWithRecursion(1));
            Assert.Equal(1, f.FibonacciWithRecursion(2));
            Assert.Equal(13, f.FibonacciWithRecursion(7));
        }
Beispiel #32
0
        // DELETE: odata/Fibonaccis(5)
        public IHttpActionResult Delete([FromODataUri] int key)
        {
            Fibonacci fibonacci = db.Fibonaccis.Find(key);

            if (fibonacci == null)
            {
                return(NotFound());
            }

            db.Fibonaccis.Remove(fibonacci);
            db.SaveChanges();

            return(StatusCode(HttpStatusCode.NoContent));
        }
Beispiel #33
0
        public override object Run(RunModes runMode, object input, bool Logging)
        {
            var fibUpperLimit = new BigInt("9", (int)input);
            var fibSequence   = Fibonacci.Sequence(fibUpperLimit).ToList();

            if (Logging)
            {
                foreach (var i in fibSequence)
                {
                    Console.WriteLine(i);
                }
            }
            return(fibSequence.IndexOf(fibSequence.First(item => item.Value.Length == (int)input)) + 1);
        }
Beispiel #34
0
 static void Main(string[] args)
 {
     ConsoleKeyInfo cki;
     Console.TreatControlCAsInput = true;
     Fibonacci f = new Fibonacci();
     Console.WriteLine("press (Esc) key to exit");
     Console.WriteLine("press somthig else to get one more number");
     foreach(int i in f)
     {
         cki = Console.ReadKey();
         if ((cki.Key == ConsoleKey.Escape))
             break;
         Console.WriteLine("{0}",i.ToString());
     }
 }
Beispiel #35
0
    static void Main(string[] args)
    {
        var argsList = new List<string>(args);
        Stopwatch stopwatch = null;
        var fib = new Fibonacci();

        if (argsList.Count >= 1 && "T".Equals(argsList[0].ToUpper()))
        {
            argsList.RemoveAt(0);
            stopwatch = new Stopwatch();
            stopwatch.Start();
        }

        switch (argsList.Count)
        {
            case 0:
                break;
            case 2:
                fib.FirstTerm = double.Parse(argsList[0]);
                fib.SecondTerm = double.Parse(argsList[1]);
                break;
            case 3:
                fib.FirstTerm = double.Parse(argsList[1]);
                fib.SecondTerm = double.Parse(argsList[2]);
                goto case 1;
            case 1:
                fib.Terms = int.Parse(argsList[0]);
                break;
            default:
                throw new
                    ArgumentException("Number of arguments exceeded");
        }

        {
            var index = 0;
            foreach (double next in fib)
            {
                Console.WriteLine("{0}\t{1}", ++index, next);
            }
        }

        if (stopwatch != null)
        {
            stopwatch.Stop();
            Console.WriteLine("Time: {0:F3} s",
                              stopwatch.ElapsedMilliseconds * 1E-3);
        }
    }
Beispiel #36
0
 public void LoadSubject()
 {
     subject = new Fibonacci();
 }
Beispiel #37
0
 public static void Main(string[] args)
 {
     Fibonacci fib = new Fibonacci();
     System.Console.WriteLine(fib.fib(System.Convert.ToInt32(args[0]) - 1));
 }
 public void setUp()
 {
     sut = new Fibonacci();
 }
Beispiel #39
0
    static void Main()
    {
        const int FibonacciCalculations = 10;

        // 每个 Fibonacci 对象使用一个事件
        ManualResetEvent[] doneEvents = new ManualResetEvent[FibonacciCalculations];
        Fibonacci[] fibArray = new Fibonacci[FibonacciCalculations];
        Random r = new Random();

        // 使用 ThreadPool 配置和启动线程:
        Console.WriteLine("launching {0} tasks...", FibonacciCalculations);
        for (int i = 0; i < FibonacciCalculations; i++)
        {
            doneEvents[i] = new ManualResetEvent(false);
            Fibonacci f = new Fibonacci(r.Next(20,40), doneEvents[i]);
            fibArray[i] = f;
            ThreadPool.QueueUserWorkItem(f.ThreadPoolCallback, i);
        }

        // 等待池中的所有线程执行计算...
        WaitHandle.WaitAll(doneEvents);
        Console.WriteLine("Calculations complete.");

        // 显示结果...
        for (int i= 0; i<FibonacciCalculations; i++)
        {
            Fibonacci f = fibArray[i];
            Console.WriteLine("Fibonacci({0}) = {1}", f.N, f.FibOfN);
        }
    }