n = 100;
N = 1:n;
A = repmat(N,n,1);
C = A'./A; % 得到逐元素相除的商
C(ceil(C)>C) = 0; % 将商为小数的元素置0
F1 = arrayfun(@(x) C(C(x,:)>0),N,'un',false); % 去掉0元素
F2 = cellfun(@cumsum,F1,'un',false); % 逐元素累加
F3 = arrayfun(@(x) ismember(x,F2{x}),N,'un',false); % 找和等于序号的行
RR = N(cell2mat(F3)); % 去掉空的行
RR(RR==1) = [] % 排除结果1
RR =
6 24 28