Prime Number in R Language (CloudStat)

November 28, 2011
By

(This article was first published on CloudStat, and kindly contributed to R-bloggers)

A prime number (or a prime) is a natural number greater than 1 that has no positive divisors other than 1 and itself.

R Language Code

The Prime Function

prime = function(n)
{
   n = as.integer(n)
   if(n > 1e8) stop(“n too large”)
   primes = rep(TRUE, n)
   primes[1] = FALSE
   last.prime = 2L
   fsqr = floor(sqrt(n))
   while (last.prime <= fsqr)
   {
      primes[seq.int(2L*last.prime, n, last.prime)] = FALSE
      sel = which(primes[(last.prime+1):(fsqr+1)])
      if(any(sel)){
        last.prime = last.prime + min(sel)
      }else last.prime = fsqr+1
   }
   which(primes)
}

To list out the primes within 100, simply type the command:

prime(100)

Now, question is

By listing the first six prime numbers: 2, 3, 5, 7, 11, and 13, we can see that the 6th prime is 13.

What is the 10 001st prime number?

We simply accessing the elements of vector by using [ and ]

We first concatenate more than 10001 primes into prime2 variable by command prime(2000000). Then accessing the 10001st element of the vector and we get the 10001st prime number!

prime2 = prime(200000)
prime2[10001]

Result

Enjoy ^^

To leave a comment for the author, please follow the link and comment on his blog: CloudStat.

R-bloggers.com offers daily e-mail updates about R news and tutorials on topics such as: visualization (ggplot2, Boxplots, maps, animation), programming (RStudio, Sweave, LaTeX, SQL, Eclipse, git, hadoop, Web Scraping) statistics (regression, PCA, time series, trading) and more...



If you got this far, why not subscribe for updates from the site? Choose your flavor: e-mail, twitter, RSS, or facebook...

Tags: , , , , , ,

Comments are closed.