我没有意识到我写的代码是前n个自然数的和,而不是计算n*(n+1)/2
伙计,这让我想起了代数…在MATLAB中更有趣!
与人合作并建立解决问题的信心是很有趣的....nice
好一个。让我想起了以前的学生时代!!
与比分1金宝搏官方网站0或11的所有解决方案使用正则表达式作弊。
乔恩或任何人!
你能解释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
fprintf中(”“);
结束
对于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
fprintf中(”“);
结束
对于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)来替换循环和。
虽然人们使用Regexp欺骗得分机制,但总和(1:n)不是最有效的。
识别出这是一个算术系列是从1开始的算术序列,并以1的增量结束。这种算术系列的总和是n *(n + 1)/ 2。如果使用“TIC”为TOC'时间总和(1:n)和n *(n + 1)/ 2非常大的n,则可以看到差异。
当然,这个解决方案虽然简短,但并不是最好的解决方案!显然,最好的解决方案是更有效的:n*(n+1)/2