示例#1
0
文件: Form1.cs 项目: Foomy/Primes
        private void Button1_Click(object sender, EventArgs e)
        {
            ulong number = ReadAndSanitizeInput(textBoxInput);

            if (number > 1)
            {
                Primes primes = new Primes();

                textBoxIsPrime.Text = "Nein";

                if (primes.isPrime(number))
                {
                    textBoxIsPrime.Text = "Ja";
                }

                textBoxNextPrime.Text = Convert.ToString(primes.nextPrime(number));
                textBoxPrevPrime.Text = Convert.ToString(primes.prevPrime(number));
            }
            else
            {
                string caption = "Fehler!";
                string message = "Bitte geben Sie eine positive ganze Zahl größer 1 ein.";

                MessageBoxButtons buttons = MessageBoxButtons.OK;
                MessageBox.Show(message, caption, buttons);
            }
        }
示例#2
0
        public void ListSingle()
        {
            ArrayList primes = Primes.Generate(2);

            Assert.AreEqual(1, primes.Count);
            Assert.IsTrue(primes.Contains(2));
        }
示例#3
0
        /// <summary>
        /// Returns the number of odd primes less than or equal to maxPrime.
        /// </summary>
        public static int CountOddPrimesTwoTasks(int maxPrime)
        {
            Task <int> t1 = Task.Run(() => Primes.CountPrimesInInterval(1, maxPrime, 4));
            Task <int> t2 = Task.Run(() => Primes.CountPrimesInInterval(3, maxPrime, 4));

            return(t1.Result + t2.Result);
        }
示例#4
0
        public void ListPrime()
        {
            ArrayList centList = Primes.Generate(100);

            Assert.AreEqual(25, centList.Count);
            Assert.AreEqual(97, centList[24]);
        }
示例#5
0
        public void CallingGenerateWithAValueShouldReturnAListOfPrimeFactors(int number, int[] expectedFactors)
        {
            var result = Primes.Generate(number).ToArray();

            Assert.AreEqual(expectedFactors.Length, result.Length);
            Assert.AreEqual(expectedFactors, result);
        }
示例#6
0
        public void Basic()
        {
            int[] primes =
                Primes.GenerateArray(knownPrimes[knownPrimes.Length - 1]);
            Assert.AreEqual(knownPrimes.Length, primes.Length);
            int i = 0;

            foreach (int prime in primes)
            {
                Assert.AreEqual(knownPrimes[i++], prime);
            }
        }
示例#7
0
        public void ListBasic()
        {
            ArrayList primes =
                Primes.Generate(knownPrimes[knownPrimes.Length - 1]);

            Assert.AreEqual(knownPrimes.Length, primes.Count);
            int i = 0;

            foreach (int prime in primes)
            {
                Assert.AreEqual(knownPrimes[i++], prime);
            }
        }
示例#8
0
        /// <summary>
        /// Returns the number of odd primes less than or equal to maxPrime,
        /// using n Tasks.
        /// </summary>
        public static int CountOddPrimesNTasks(int maxPrime, int n)
        {
            Task <int>[] tasks = new Task <int> [n];
            for (int i = 0; i < n; i++)
            {
                // Understand what happens if the minPrime local is not used
                int minPrime = i * 2 + 1;
                int delta    = 2 * n;
                tasks[i] = Task.Run(() => Primes.CountPrimesInInterval(minPrime, maxPrime, delta));
            }

            int count = 0;

            foreach (Task <int> task in tasks)
            {
                count += task.Result;
            }
            return(count);
        }
示例#9
0
        public void Lots()
        {
            int bound = 10101;

            int[] primes = Primes.GenerateArray(bound);
            foreach (int prime in primes)
            {
                Assert.IsTrue(IsPrime(prime), "is prime");
            }
            foreach (int prime in primes)
            {
                if (IsPrime(prime))
                {
                    Assert.IsTrue(Contains(prime, primes),
                                  "contains primes");
                }
                else
                {
                    Assert.IsFalse(Contains(prime, primes),
                                   "doesn' t contain composites");
                }
            }
        }
示例#10
0
 static void Main(string[] args)
 {
     Primes primes = new Primes(2, 1000);
     foreach (long i in primes)
     {
         Console.Write("{0} ", i);
     }
     Console.ReadKey();
 }
示例#11
0
 public void Prime()
 {
     int[] centArray = Primes.GenerateArray(100);
     Assert.AreEqual(25, centArray.Length);
     Assert.AreEqual(97, centArray[24]);
 }
示例#12
0
 public void Single()
 {
     int[] primes = Primes.GenerateArray(2);
     Assert.AreEqual(1, primes.Length);
     Assert.AreEqual(2, primes[0]);
 }
示例#13
0
        public void ListZero()
        {
            ArrayList primes = Primes.Generate(0);

            Assert.AreEqual(0, primes.Count);
        }
示例#14
0
 public void Zero()
 {
     int[] primes = Primes.GenerateArray(0);
     Assert.AreEqual(0, primes.Length, "wrong number of primes");
 }