In number theory, the complexity of an integer is the smallest number of ones that can be used to represent it using ones and any number of additions, multiplications, and parentheses. It is always within a constant factor of the logarithm of the given integer.
For instance, the number 11 may be represented using eight ones:
11 = (1 + 1 + 1) × (1 + 1 + 1) + 1 + 1.However, it has no representation using seven or fewer ones. Therefore, its complexity is 8.
The complexities of the numbers 1, 2, 3, ... are
1, 2, 3, 4, 5, 5, 6, 6, 6, 7, 8, 7, 8, 8, 8, 8, 9, 8, ...
The smallest numbers with complexity 1, 2, 3, ... are
1, 2, 3, 4, 5, 7, 10, 11, 17, 22, 23, 41, 47, ...
The question of expressing integers in this way was originally considered by . They asked for the largest number with a given complexity ;[1] later, Selfridge showed that this number is
2x3(k-2x)/3wherex=-k\bmod3.
(1 + 1) × (1 + 1) × (1 + 1 + 1) × (1 + 1 + 1).Thus, the complexity of an integer is at least . The complexity of is at most (approximately): an expression of this length for can be found by applying Horner's method to the binary representation of .[2] Almost all integers have a representation whose length is bounded by a logarithm with a smaller constant factor, .[3]
The complexities of all integers up to some threshold can be calculated in total time .
Algorithms for computing the integer complexity have been used to disprove several conjectures about the complexity.In particular, it is not necessarily the case that the optimal expression for a number is obtained either by subtracting one from or by expressing as the product of two smaller factors. The smallest example of a number whose optimal expression is not of this form is 353942783. It is a prime number, and therefore also disproves a conjecture of Richard K. Guy that the complexity of every prime number is one plus the complexity of .[4] In fact, one can show that
\|p\|=\|p-1\|=63
\|743 x 2\|=\|743\|=22
\|166571 x 3\|=\|166571\|=39
\|97103 x 5\|=\|97103\|=38
\|232\|=20
2\|23\|=22