玫瑰,科迪团队,你可以删除我的解决方案吗?
谢谢你!
好一个但大小不知道如何减少消耗
有点棘手但是很漂亮
我喜欢这个问题,因为我了解Collatz序列的故事。非常interessting。
这段代码有什么问题?
赋值c = [c];其他必须的条款,但仍在代码块内的。
我怎么能简化?
试试这个!:D
c = n;
尽管n > 1
如果国防部(n, 2)
n = 3 * n + 1;
其他的
n = n / 2;
结束
c = n [c];
结束
没错>构造c通过concat操作符(. .)而不是索引。
指数”我不在乎因为它不在乎的大小顺序。
为什么会出错?
非常容易
如何减少它的大小吗?
这个解决方案不为n = 3工作。测试套件应该包括n = 3。
嗨。我不知道为什么有很多输出ans(最后是正确的),谁能有助于解释?
我怎样才能减少尺寸?太多的循环,但我必须定义一个命令:/
我认为你不应该硬编码列表你应该构建。正则表达式是很好,但是你限制自己通过这样一个狭窄的解决方案。
我个人不喜欢regex的解决方案,因为我在找关于语言和有趣的事情我不想穿越,找到最短的非正则表达式。
将某种灵魂开导我吗?
在matlab没问题当我分配' c '一个值
disp (c)包含正确答案,与c . c总是等于1(迭代过程的最后一个值)
这是一个贫穷的解决方案
这个函数collatz (N)产生特定的值为N = 10000,试试这个:
- - - - - - - - - - - - - - - - - - - - - - -
N = collatz (1000);
情节(N);
- - - - - - - - - - - - - - - - - - - - - - - -
%更有趣的图,衍生物N
- - - - - - - - - - - - - - - - - - - - - - - -
dN = diff (N);
人物,情节(dN)
- - - - - - - - - - - - - - - - - - - - - - - -
dN看起来像一个语音信号样本。
好,大卫!
确实不错。
我感到惊讶的是,它更有效解决这个与一个比一个while循环递归函数。
这个解决方案有大小43:
尽管n(结束)> 1
n = [n国防部(n(结束),2)* (n(结束)* 2.5 + 1)+ n(结束)/ 2);
结束
比递归循环开销更大的开销吗?还是弱点不得不去n(结束)在每一次迭代?
奇怪的我第一次不能删除评论。我想格式有点更好:)
好的解决方案,大卫!:)