作业帮 > 综合 > 作业

用matlab编写一个程序,要求任给一个自然数n,输出1到n之间所有可以用若干连续自然数之和表示的数,并输出其所有表示方

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/18 04:01:14
用matlab编写一个程序,要求任给一个自然数n,输出1到n之间所有可以用若干连续自然数之和表示的数,并输出其所有表示方法,并统计有多少表示方法.如5可用2+3表示,10可用1+2+3+4表示.急.
counter = 0;
for i=1:n
for j=(i+1):(n-1)
if(sum(i:j)==n)
{
counter = counter+1;
disp(i:j);
}
end
end

好运!
再问: 我对这软件一点不了解,那个运行有点问题,the expressions to the left of the equals is not a valid taget for a asignment.是{出问题了,怎么改呢?
再答: 你新建一个函数,用m文件写 function disp_permutation(n) counter = 0; for i=1:(n-2) for j=(i+1):(n-1) if(sum(i:j)==n) counter = counter+1; disp(i:j); end end end disp('counter = '); disp(counter); %调用时:在命令窗口输入:disp_permutation(n),n为你需要的数。 不好意思,昨晚没调程序,有点问题,现在修改好了。
再问: 虽然还是不懂,但谢谢啦!