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

一个正整数能否表示为多个连续正整数之和.分析:正整数M是否表示为1+2+3+...,2+3+4+...,3+4+5...,4+5+6...,fix(M/2)+fix(M/2)+1
漂泊旅途中 1年前 已收到1个回答 举报

qq357441458 幼苗

共回答了28个问题采纳率:85.7% 举报

function S = int2sum(X)
% INT2SUM 把一个正整数分解为若干连续正整数之和.
% S = INT2SUM(X)
%
% 输入:X 为正整数,小数则去掉小数部分,负数取绝对值
% 返回:S 为列数为2的矩阵,每行表示一种分解的情况,分解出的连续整数以第一列为首项,
% 第二列为尾项.如果无法分解成连续正整数之和,返回空矩阵[].
X = abs(fix(X(1))); % 如果是矩阵或者向量,只取第一个元素.小数取整,负数取绝对值.
S = [];
if X < 3,return; end % X

1年前

10
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 16 q. 0.025 s. - webmaster@yulucn.com