Intellipaat Back

Explore Courses Blog Tutorials Interview Questions
0 votes
2 views
in R Programming by (50.2k points)

The below code is written on RStudio, and this code will remove every element in the vector which is a multiple of x for each x in the vector.

When I run the function, the loop only works for the first element in the vector, ie, 2, and it doesn't verify the remaining elements such as 3,4,5,6. How can I correct it?

my_function <- function(n){

X <- 2:n

i <- 2

 for (x in X){

   while (x*i <= n){

     a <- match(x*i,X)

     X <- X[-(a)]

     i <- i+1

  }

  print(X)

 }

}

1 Answer

0 votes
by (107k points)

You can have this function:

my_function <- function(n){

   X <- seq_len(n)

   X[n %% X != 0]

}

my_function(6)

#[1] 4 5

my_function(12)

#[1]  5  7  8  9 10 11

If you are a beginner and want to know more about R then do refer to the R programming tutorial.

Related questions

31k questions

32.8k answers

501 comments

693 users

Browse Categories

...