Question: > Eratosthenes = 2) { + sieve
> Eratosthenes <- function(n) {
+ # Print prime numbers up to n (based on the sieve of Eratosthenes)
+ if (n >= 2) {
+ sieve <- seq(2, n)
+ primes <- c()
+ while (length(sieve) > 0) {
+ p <- sieve[1]
+ primes <- c(primes, p)
+ sieve <- sieve[(sieve %% p) != 0]
+ }
+ return(primes)
+ } else {
+ stop("Input value of n should be at least 2.")
+ }
+ }
(b) Show that once p >= sqrt(n)all remaining entries in sieve are prime.
(c) Modify this function using break to take advantage of the above result.
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
