% 找出10万以内的所有亲和数对
N = 100000;
sum_divisors = zeros(1,N);
for ii = 1:N-1
divisors = 1;
for jj = 2:sqrt(ii)
if mod(ii,jj) == 0
divisors = [divisors jj ii/jj];
end
end
sum_divisors(ii) = sum(divisors);
end
amicable_nums = [];
for ii = 1:N-1
if sum_divisors(ii) < N && sum_divisors(sum_divisors(ii)) == ii && sum_divisors(ii) ~= ii
amicable_nums = [amicable_nums; ii sum_divisors(ii)];
end
end
disp(amicable_nums)
结果