With the below configuration i got       7746653 primes founds in 10
seconds   Highest Prime is :15493305

CPU: Intel Pentiun E2140@ Dual 1.60GHZ
RAM: 2GB
OS: Windows 2003 Server
.Net: 2.0



    I used different logic. because suppose to decide a number whether
it is prime number or not, we no need to check all the numbers below
the square root of that number. IF we check all the primes of  below
the square root of that number, its enough. because except 1 , atleast
1 factor of non-primary number must be a primary number. using this
principle, we can find quicker than checking all numbers under the
sqrt of the number.



   List<int> primes = new List<int>();
   protected void Page_Load(object sender, EventArgs e)
   {
       int seconds = 10;
       primes.Add(2);
       primes.Add(3);
       primes[1] = 3;
       DateTime x, y = DateTime.Now;
       int a = 4, b = 2;
       do
       {
           if (IsPrim(a))
           {
               primes.Add(a);
               b++;
           }
           a++;
           x = DateTime.Now;
       } while ((x - y).TotalSeconds < seconds);
             Response.Write(b.ToString() + " primes founds in " +
seconds+ " seconds");
       Response.Write("Highest Prime is :" + primes[primes.Count -
1].ToString());
   }

   private bool IsPrim(int Num)
   {
              foreach(int n in primes)
       {
           if (Num % n == 0)
               return false;
           if (n > Math.Sqrt(n))
               return true;
       }
       return true;
   }



On Nov 11, 2:10 pm, CK <[EMAIL PROTECTED]> wrote:
> This is something I've been working on for a while, and I thought it
> might be fun to push it out to the group to see if anyone can better
> my efforts.
>
> The challange is to write a Windows Console App that generates prime
> numbers.  It does not need to generate them in any specific order,
> record them, or even catch all primes.  The aim is to calculate as
> many unique primes as possible in 10 seconds.
>
> Obviously, this will depend on the processor it runs on, so that will
> be taken into account.
>
> Once you have a solution, please post your results like the following:
> (this is example data only)
>
> CPU: Intel E6300
> Cores: 2
> RAM: 1GB
> OS: Vista Home Premium
> .Net: 3.5
> Number of primes in 10 seconds: 10,000
> Highest Prime found: 123247
>
> To confirm your code is working properly, please post some large
> primes (~100000) your code has found to verify that it is working
> correctly.
>
> Please also be willing to share your code.
>
> Please enter, just for fun, and enjoy :)
>
> PS. A Prime is a number that is only divisible by itself and 1.  1 is
> not a prime, 2 is, 3 is, 4 isn't, 5 is etc.

Reply via email to