factorpairs

Generate all pairs of factors N = p*q, p <= q, for positive integer N

You are now following this Submission

I needed a tool that would generate all simple pairs of factors of a positive integer N, where N could be rather large. I also needed this task to be accomplished efficiently. So while I liked the nfactork submission that Matt Fig has posted, I found it to have severe problems with memory for some numbers. Therefore I had to write my own tool for the task that handles the case where exactly two factors are generated.

factorpairs(72)
ans =
1 72
2 36
3 24
4 18
6 12
8 9

The factorpairs function is quite efficient for large N with many factors. It works for any value of N that does not exceed 2^32.

tic
F = factorpairs(factorial(12));
toc

Elapsed time is 0.003767 seconds.

There are 396 distinct pairs of factors generated here.

size(F)
ans =
396 2

Cite As

John D'Errico (2026). factorpairs (https://www.mathworks.com/matlabcentral/fileexchange/27113-factorpairs), MATLAB Central File Exchange. Retrieved .

General Information

MATLAB Release Compatibility

  • Compatible with any release

Platform Compatibility

  • Windows
  • macOS
  • Linux
Version Published Release Notes Action
1.0.0.0