public IHttpActionResult GetPrimeNumbers(int id)
        {
            var primeNumberViewModel = new PrimeNumberViewModel();

            var primeNumbers = Enumerable.Range(1, Convert.ToInt32(Math.Floor(Math.Sqrt(id))))
                               .Aggregate(Enumerable.Range(1, id).ToList(),
                                          (result, index) =>
            {
                result.RemoveAll(i => i > result[index] && i % result[index] == 0);
                return(result);
            }
                                          );

            primeNumberViewModel.TargetNumber = id;
            primeNumberViewModel.PrimeNumbers = primeNumbers;

            return(Ok(primeNumberViewModel));
        }
        public IHttpActionResult AltGetPrimeNumbers(int id)
        {
            var primeNumberViewModel = new PrimeNumberViewModel();

            var primeNumbers = Enumerable.Range(1, (int)Math.Floor(2.52 * Math.Sqrt(id) / Math.Log(id))).Aggregate(
                Enumerable.Range(1, id).ToList(),
                (result, index) =>
            {
                var bp = result[index]; var sqr = bp * bp;
                result.RemoveAll(i => i >= sqr && i % bp == 0);
                return(result);
            }
                );

            primeNumberViewModel.TargetNumber = id;
            primeNumberViewModel.PrimeNumbers = primeNumbers;

            return(Ok(primeNumberViewModel));
        }