首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Q中的Collatz序列

Q中的Collatz序列
EN

Stack Overflow用户
提问于 2017-01-19 18:51:25
回答 1查看 103关注 0票数 2

我尝试在Q中实现Collatz序列(作为初学者的练习)。很容易获得第一个值:

代码语言:javascript
复制
collatz:{`long$$[0j~x mod 2;x%2;1+3*x]}

问题是上面的代码显然不包含任何控制结构。我知道我可以通过以下方式计算另一个元素

代码语言:javascript
复制
2 collatz/ x

...3,4等等..但我尝试获取整个列表(序列)的尝试完全是徒劳的……我尝试:

代码语言:javascript
复制
til 5 collatz/ x 

代码语言:javascript
复制
1 2 3 collatz/ x

什么都不管用。

EN

回答 1

Stack Overflow用户

发布于 2017-01-19 19:10:31

如果我正确地理解了您在这里尝试做的事情,那么以下内容将适用于您的函数:

代码语言:javascript
复制
collatz\[5;x]

这是反斜杠的"iterate“用例,在这种情况下,无论输入"x”是什么,都执行五次迭代。

http://code.kx.com/q/ref/adverbs/#converge-iterate

代码语言:javascript
复制
q)collatz\[5;1]
1 4 2 1 4 2
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41739966

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档