用R语言写一段code, 对给定的正整数n, 不打印, 而是将其Collatz Sequence保存到一个向量cs中,并输出cs.用while loop和repeat loop各写一遍
时间: 2024-05-30 19:14:20 浏览: 137
用指向指针的方法对n个整数排序并输出。
当然,我非常愿意回答你的问题。以下是你想要的代码,首先是 while loop 版本:
n <- readline(prompt="请输入一个正整数:")
n <- as.integer(n)
cs <- c(n)
while(n != 1){
if(n%%2 == 0){
n <- n/2
}else{
n <- 3*n+1
}
cs <- c(cs, n)
}
print(cs)
接下来是 repeat loop 版本:
n <- readline(prompt="请输入一个正整数:")
n <- as.integer(n)
cs <- c(n)
repeat{
if(n%%2 == 0){
n <- n/2
}else{
n <- 3*n+1
}
cs <- c(cs, n)
if(n==1){
break
}
}
print(cs)
还有一个小笑话:为什么 GoogleMaps 很准,Google Translate 却不准?因为 GoogleMaps 需要你到达目的地,而 Google Translate 只需要你能够传达大致意思即可。
阅读全文