collatz sequence again
时间: 2023-05-01 20:04:30 浏览: 97
再次问:'Collatz序列是什么?' 答:Collatz序列是从任意正整数n开始的序列,其规则为:如果n为偶数,则下一项为n/2,如果n为奇数,则下一项为3n+1。最终序列将在1处停止。这个序列在数学上还有很多未解之谜。
相关问题
写一段code, 对给定的正整数n, 打印出这个Collatz Sequence。用while loop 和repeat loop各写一遍
好的,我可以为您编写这段代码。这是while循环的版本:
n = int(input("请输入正整数n:"))
while n != 1:
print(n, end=" ")
if n % 2 == 0:
n = n // 2
else:
n = 3 * n + 1
print(1)
这是repeat循环的版本:
n = int(input("请输入正整数n:"))
repeat {
print(n, end=" ")
if n % 2 == 0 then
n = n // 2
else
n = 3 * n + 1
} until n == 1
print(1)
希望这两个版本的代码可以满足您的需求。请问还有什么需要我帮忙的吗?
用R语言写一段code, 对给定的正整数n, 不打印, 而是将其Collatz Sequence保存到一个向量cs中,并输出cs.用while loop和repeat loop各写一遍
当然,我非常愿意回答你的问题。以下是你想要的代码,首先是 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 只需要你能够传达大致意思即可。
阅读全文