【发布时间】:2020-02-22 17:05:45
【问题描述】:
我正在尝试在 R 中使用 while 循环创建 Collatz 序列。
vector <- NULL
n <- 10
while (n != 1) {
if (n %% 2 == 0) {
n <- n / 2
} else {
n <- (n * 3) + 1
}
vector <- c(vector, cbind(n))
print(vector)
}
运行代码后得到:
[1] 5
[1] 5 16
[1] 5 16 8
[1] 5 16 8 4
[1] 5 16 8 4 2
[1] 5 16 8 4 2 1
我该怎么做才能只显示最后一行?我的代码出了什么问题? 感谢您对此的任何帮助。
【问题讨论】:
-
或许你需要
print(n) -
或在循环外使用
print(vector) -
您不需要
cbind- 只需vector <- c(vector, n)就可以了。
标签: r while-loop collatz