Вектор для значений функции? - PullRequest
0 голосов
/ 05 декабря 2018

У меня есть функция с циклом while, которая возвращает мне разные значения для каждого цикла.Как я могу отобразить разные значения в одном векторе?Прямо сейчас у меня есть функция, и она вполне в порядке, но для моего упражнения мне нужны значения в векторе, и я не могу понять это.

Я уже пытался сделать это с

print(paste("Lösungsvektor:", b))

, но я не знаю, как мне реализовать вектор в функции.

Collatz <- function(n) {
 while (n != 1) {
  print(n)
  if(n %% 2 == 0){
  n <- n/2
 }else{
  n <- n*3+1
  }
}
print(1)
}

Collatz(22)

1 Ответ

0 голосов
/ 05 декабря 2018

Во-первых, ваша функция на самом деле ничего не возвращает, просто печатает, поэтому нам нужно это исправить.То, что он возвращает, это вектор, который должен быть построен по мере выполнения цикла while.Вот один из вариантов:

Collatz <- function(n) {
     j<-2
     output<-n
     while (n != 1) {
         if(n %% 2 == 0){
             n <- n/2
         }else{
             n <- n*3+1
         }
     output[j]<-n
     j<-j+1
     }
     output
 }

 Collatz(22)
 [1] 22 11 34 17 52 26 13 40 20 10  5 16  8  4  2  1 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...