作业帮 > 数学 > 作业

一个正整数能否表示为多个连续正整数之和.分析:正整数M是否表示为1+2+3+...,2+3+4+...,3+4+5...

来源:学生作业帮 编辑:搜搜做题作业网作业帮 分类:数学作业 时间:2024/06/12 23:24:43
一个正整数能否表示为多个连续正整数之和.分析:正整数M是否表示为1+2+3+...,2+3+4+...,3+4+5...,4+5+6...,fix(M/2)+fix(M/2)+1
一个正整数能否表示为多个连续正整数之和.分析:正整数M是否表示为1+2+3+...,2+3+4+...,3+4+5...
function S = int2sum(X)
% INT2SUM 把一个正整数分解为若干连续正整数之和.
% S = INT2SUM(X)
%
% 输入:X 为正整数,小数则去掉小数部分,负数取绝对值
% 返回:S 为列数为2的矩阵,每行表示一种分解的情况,分解出的连续整数以第一列为首项,
% 第二列为尾项.如果无法分解成连续正整数之和,返回空矩阵[].
X = abs(fix(X(1))); % 如果是矩阵或者向量,只取第一个元素.小数取整,负数取绝对值.
S = [];
if X < 3,return; end % X