我没有意识到我写的代码是前n个自然数的和,而不是计算n*(n+1)/2
伙计,这让我想起了代数…在MATLAB中更有趣!
与人合作并建立解决问题的信心是很有趣的....nice
好一个。让我想起了以前的学生时代!!
所有Sc金宝搏官方网站ound 10或11的解决方案都使用Regexp作弊。
乔恩或任何人!
你能解释regexp作弊是如何工作的吗?
如何减少代码的大小?
Muchafantasíaenelitulo
这是什么意思?
这个问题我真得动脑筋了
有趣!
声音简单但很烦人
有趣的问题!
好!
为了清晰,
T =三角形n
我们需要计算给定n的t
这很简单,但很棘手!
为什么这行不通呢?
函数t =三角形(n)
t = 1
i = [1 (n + 1)):
t = t +我;
T.
结尾
那很有趣
很酷的问题!
很酷的问题!
不错的
这些问题很有趣!
大家好,
有人能告诉我这段代码有什么问题吗?
函数t =三角形(n)
和= 0:
i = 1: n
总和= sum + i
结尾
t =总和;
结尾
我在MATLAB中用n=1,3,5,30的测试用例检查了这段代码,我得到了想要的结果。
n =输入(“输入数字”)
金额= 0;
i = 1: n
总和= sum + i
结尾
t =总和
您的三角形功能具有语句= 0:
您的测试代码有语句sum = 0;
你有一个打印错误,对;
:-)
函数t =三角形(n)
金额= 0;
i = 1: n
和=和+ i;
结尾
t =总和;
结尾
ps更好的代码是
函数t =三角形(n)
t = (1: n)总和;
结尾
好了!
好的
我知道,但我不记得了。我想我必须再次学习它。
来自越南的爱
算术级数的和可以解决这个问题。
函数ans = triangle(n)
!回声”功能维护(~)”>。/ assert.m
%Cody团队,请恢复regexp和!
结尾
????
?
Phillippe,通过解决此答案,您已经通过解决每个问题来毁了此资源。请删除
为什么o为什么我必须与一个不正确的方式解决问题的技巧竞争?
MATLAB开始工作和清理这些“解决方案”!金宝搏官方网站
这不是一个主要的解决方案:
函数ANS =三角形(n)
!回声”功能维护(~)”>。/ assert.m
结尾
请删除这个答案,并张贴正确的领先解决方案。
哈哈,这很有趣!GG.
好一个! !
厅堂jaya栖身! !
非常容易
好的
你想要一个饼干吗?
: P
测试
如何改进上述解决方案?
您可以使用Trigular Numbums的Gauss公式。它将提高性能。它不会改善Cody规模。为了改善科迪规模,你需要黑客。流行的黑客是将代码包装成正则表达式。有人发明了欺骗评分算法,它在像癌症一样的Cody提交中蔓延。我不是为此感到自豪,我也在使用这个黑客,幸运地意识到它没有意义。建议:不太关心大小,关心质量代码。大多数超级小型解决方案使用某种作弊,您不金宝搏官方网站会从那些中学到很多东西。
我相信你可以得到一个更有效的解如果你去掉中间变量a。
花哨的裤子
%正确解决方案
三角函数(n)
t = n;
CLC.
如果n> 1
对于L = 1:1:(T-1)
l = l + 1;
结尾
对于i = 1:1:l
对于k = l:-1:i
流(' ');
结尾
对于j = 1:1:i
fprintf('*');
结尾
流(' \ n ');
结尾
别的
fprintf('* \ n');
结尾
%请检查为什么不编译
功能prac(n)
t = n;
CLC.
如果n> 1
对于L = 1:1:(T-1)
l = l + 1;
结尾
对于i = 1:1:l
对于k = l:-1:i
流(' ');
结尾
对于j = 1:1:i
fprintf('*');
结尾
流(' \ n ');
结尾
别的
fprintf('* \ n');
结尾
不知道为什么它没有评估?不允许使用内置函数?
我想有一个更好的解决方案
> >总和(1:5)
ans =.
15
> >总和(1:6)
ans =.
21
> >总和(1:3)
ans =.
6.
:)
好一个
你的这项工作做得很好
我认为这适用于非常低的数字,但随着您获得更高的,此处的工作可能更快
n *(n + 1)/ 2
有人能建议如何改进代码的大小吗?
太糟糕的计算较差的解决方案在点方面更好。
好的
做得好!
简单又好的!
将该解决方案得分与总和(1:n)进行比较。使用TIC TOC和变化的N重复高达1,000,000次,我发现n *(n + 1)/ 2更快。大约10,000倍快。
我不知道我怎么能有10码的!!
如何计算解的大小?
我们可以做得比for循环更好。
@Micah Beckman No,此解决方案并不是一个“有效”的答案,即使它很高......一个应该使用SUM(1:n)来替换循环和。
当然,这个解决方案虽然简短,但并不是最好的解决方案!显然,最好的解决方案是更有效的:n*(n+1)/2